/* ==========================================================================
   FPB GeneratePress Overlay - flattened layer

   Loaded only when GeneratePress is the active theme AND the option
   fpb_converter_gp_overlay_active is set.

   Flattened from ~20 historical fix-pass layers (v8 -> v27) into one clean
   layer: version-history commentary removed, rules grouped under component-
   section headers. IMPORTANT: declaration ORDER is preserved exactly as the
   original cascade resolved it -- many selectors are intentionally redefined
   later in the file and the LAST occurrence is the winning value. Do not
   reorder across sections without re-checking the cascade. The v28 additions
   at the very end must remain last.
   ========================================================================== */

/* -- CSS custom properties (:root tokens) -------------------------------------- */
:root {
    --fpb-red: #E90F35;
    --fpb-red-ink: #C40A2C;
    --fpb-teal: #00ABBC;
    --fpb-teal-ink: #007684;
    --fpb-orange: #E8602D;
    --fpb-orange-ink: #C24A1F;
    --fpb-body: #444444;
    --fpb-light-bg: #f8f9fa;
    --fpb-border: #e5e7eb;
}

/* -- Site title + logo --------------------------------------------------------- */
.main-title,
.main-title a,
.main-title a:visited,
.site-title,
.site-title a,
.site-title a:visited {
    font-family: Georgia, 'Times New Roman', serif !important;
    font-weight: 700 !important;
    color: var(--fpb-red) !important;
    text-decoration: none !important;
    font-size: 3.25rem !important;
    line-height: 1.1 !important;
    margin: 0 !important;
}

.main-title a:hover,
.site-title a:hover {
    color: var(--fpb-red) !important;
    text-decoration: none !important;
    opacity: 0.85;
}

.site-description {
    font-style: italic;
    color: #666;
    font-size: 0.95rem;
    margin-top: 0.25rem;
}

@media (max-width: 768px) {
    .main-title,
    .main-title a,
    .site-title,
    .site-title a {
        font-size: 2.25rem !important;
    }
}

/* -- Header layout ------------------------------------------------------------- */
.inside-header {
    text-align: center !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
}

.inside-header .site-branding {
    text-align: center !important;
    margin: 0 auto !important;
}

.site-header {
    padding: 1.25rem 1rem !important;
    /* v32: grey hairline under the menu bar removed on EVERY page (was scoped
       to .home only; non-home pages still showed it). The old `.home .site-header
       { border-bottom: 0 }` override below is now redundant but harmless. */
    border-bottom: 0 !important;
    background-color: #ffffff !important;
}

/* -- Primary navigation + nav search ------------------------------------------- */
.main-navigation,
.main-navigation.gen-sidebar-nav,
nav.main-navigation {
    background-color: var(--fpb-orange-ink) !important;
    color: #ffffff !important;
    border: none !important;
}

.main-navigation .main-nav,
.main-navigation .main-nav > ul {
    background-color: var(--fpb-orange-ink) !important;
}

.main-navigation .main-nav ul li a,
.main-navigation .main-nav ul ul li a,
.main-navigation .menu li a {
    color: #ffffff !important;
    text-transform: none;
    font-weight: 600 !important;
    font-size: 0.95rem;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
    transition: background-color 0.15s ease;
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li.current-menu-ancestor > a,
.main-navigation .main-nav ul li.current_page_item > a {
    color: #ffffff !important;
    background-color: #9A381A !important;
}

.main-navigation .main-nav ul ul {
    background-color: var(--fpb-orange-ink) !important;
}

.main-navigation .main-nav ul ul li a {
    color: #ffffff !important;
    font-size: 0.9rem;
    border-top: 1px solid #9A381A;
}

.main-navigation .menu-toggle,
.main-navigation .menu-toggle:focus {
    color: #ffffff !important;
    background-color: var(--fpb-orange-ink) !important;
}

.main-navigation .menu-toggle:hover {
    color: #ffffff !important;
    background-color: #9A381A !important;
}

.main-navigation .navigation-search input[type="search"] {
    color: #ffffff !important;
    background: rgba(0, 0, 0, 0.18) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 4px !important;
}

.main-navigation .navigation-search input::placeholder {
    color: rgba(255, 255, 255, 0.85) !important;
}

.main-navigation .gp-icon.icon-search svg {
    fill: #ffffff !important;
}

@media (min-width: 769px) {
    .nav-float-right .main-navigation,
    .nav-float-left .main-navigation {
        float: none !important;
        clear: both !important;
        width: 100% !important;
    }

    .nav-float-right .main-navigation .main-nav,
    .nav-float-left .main-navigation .main-nav {
        text-align: center !important;
    }

    .nav-float-right .main-navigation .main-nav > ul,
    .nav-float-left .main-navigation .main-nav > ul {
        display: flex !important;
        justify-content: center !important;
        flex-wrap: wrap !important;
    }
}

/* -- Homepage layout (full-bleed, H1 suppression) ------------------------------ */
.home .content-area,
.home #primary,
.home .site-main,
body.page-fpb-home .content-area,
body.page-fpb-home #primary,
body.page-fpb-home .site-main {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.home .widget-area,
.home .sidebar,
.home #right-sidebar,
.home #left-sidebar,
body.page-fpb-home .widget-area,
body.page-fpb-home .sidebar,
body.page-fpb-home #right-sidebar,
body.page-fpb-home #left-sidebar {
    display: none !important;
}

.home .site-content .inside-article,
body.page-fpb-home .site-content .inside-article {
    padding: 0 !important;
    max-width: none !important;
}

.home .entry-header,
.home .entry-header h1,
.home .entry-header .entry-title,
body.page-fpb-home .entry-header,
body.page-fpb-home .entry-header h1,
body.page-fpb-home .entry-header .entry-title {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -10000px !important;
}

.home #content.site-content,
body.page-fpb-home #content.site-content {
    padding: 0 !important;
}

.home .grid-container.grid-parent.site-content,
body.page-fpb-home .grid-container.grid-parent.site-content {
    max-width: 100% !important;
    padding: 0 !important;
}

/* -- Homepage hero cover ------------------------------------------------------- */
.home .wp-block-cover,
body.page-fpb-home .wp-block-cover {
    max-height: 600px !important;
    background-position: center !important;
}

.home .wp-block-cover::before,
body.page-fpb-home .wp-block-cover::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, transparent 0%, transparent 35%, rgba(0,0,0,0.45) 100%);
    pointer-events: none;
    z-index: 1;
}

.home .wp-block-cover .wp-block-cover__inner-container,
body.page-fpb-home .wp-block-cover .wp-block-cover__inner-container {
    position: relative;
    z-index: 2;
}

.home .wp-block-cover .wp-block-post-title::before,
body.page-fpb-home .wp-block-cover .wp-block-post-title::before {
    content: "FEATURED";
    display: inline-block;
    background: var(--fpb-red);
    color: #ffffff;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    padding: 0.25rem 0.6rem;
    border-radius: 3px;
    margin-bottom: 0.85rem;
    text-transform: uppercase;
    line-height: 1;
}

/* -- Homepage cards (Latest News / category columns) - base -------------------- */
.wp-block-query .wp-block-group {
    transition: background-color 0.15s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.wp-block-query .wp-block-group:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.wp-block-query > .wp-block-query > .wp-block-group:hover {
    transform: none;
    box-shadow: none;
}

/* -- Section headings (teal) --------------------------------------------------- */
.wp-block-heading[style*="00ABBC"],
h2[style*="00ABBC"],
h3[style*="00ABBC"],
h4[style*="00ABBC"] {
    color: var(--fpb-teal-ink) !important;
}

.wp-block-group[style*="border-bottom"][style*="00ABBC"] {
    border-bottom-color: var(--fpb-teal) !important;
}

/* -- Sidebar widget cards ------------------------------------------------------ */
.widget-area .widget {
    margin-bottom: 1.25rem;
    background: transparent;
    padding: 0;
}

.widget-area .widget_block {
    margin-bottom: 1.25rem;
}

.widget-area .widget_block:last-child {
    margin-bottom: 0;
}

.widget-area .widget_block > .wp-block-group {
    margin: 0;
}

.widget-area .widget-title,
.widget-area .widget h2,
.widget-area .widget h3,
.widget-area .widget h4,
.widget-area .wp-block-heading {
    color: var(--fpb-teal-ink) !important;
}

.widget-area .wp-block-latest-posts,
.widget-area ul.wp-block-latest-posts__list {
    padding-left: 0 !important;
    list-style: none !important;
}

.widget-area .wp-block-latest-posts > li,
.widget-area .wp-block-latest-posts__list > li {
    padding: 0.6rem 0;
    border-bottom: 1px solid var(--fpb-border);
    list-style: none;
    margin: 0;
}

.widget-area .wp-block-latest-posts > li:last-child,
.widget-area .wp-block-latest-posts__list > li:last-child {
    border-bottom: none;
}

.widget-area .wp-block-latest-posts__post-title,
.widget-area .wp-block-latest-posts a {
    font-weight: 600;
    font-size: 0.85rem;
    line-height: 1.35;
    color: #222;
    text-decoration: none;
}

.widget-area .wp-block-latest-posts__post-title:hover,
.widget-area .wp-block-latest-posts a:hover {
    color: var(--fpb-red);
}

.widget-area .wp-block-latest-posts__post-date {
    color: #888;
    font-size: 0.75rem;
    display: block;
}

.widget-area .wp-block-latest-comments {
    padding-left: 0;
}

.widget-area .wp-block-latest-comments__comment {
    list-style: none;
    border-bottom: 1px solid var(--fpb-border);
    padding-bottom: 0.6rem;
    margin-bottom: 0.6rem;
    font-size: 0.85rem;
}

.widget-area .wp-block-latest-comments__comment:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.widget-area .wp-block-latest-comments__comment-link {
    color: var(--fpb-red);
    font-weight: 500;
}

.widget-area .wp-block-latest-comments__comment-meta time {
    color: #888;
    font-size: 0.7rem;
}

.widget-area .wp-block-query .wp-block-post-title a {
    color: #222;
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 600;
}

.widget-area .wp-block-query .wp-block-post-title a:hover {
    color: var(--fpb-red);
}

.widget-area .wp-block-query .wp-block-post-date {
    color: #888;
    font-size: 0.75rem;
}

.widget-area .wp-block-search__inside-wrapper {
    border: 1px solid var(--fpb-border);
    border-radius: 6px;
    overflow: hidden;
}

.widget-area .wp-block-search__input {
    border: none !important;
    padding: 0.55rem 0.75rem !important;
    font-size: 0.9rem;
}

.widget-area .wp-block-search__input:focus {
    outline: 2px solid var(--fpb-teal);
    outline-offset: -2px;
}

.widget-area .wp-block-search__button {
    background: var(--fpb-orange-ink) !important;
    color: #fff !important;
    border: none !important;
    padding: 0.55rem 1rem !important;
    font-weight: 600;
}

.widget-area .wp-block-search__button:hover {
    background: #9A381A !important;
}

/* -- Sidebar subscribe form ---------------------------------------------------- */
.fpb-subscribe-form input[type="email"] {
    border-radius: 6px !important;
    border: 1px solid #ddd !important;
    padding: 0.65rem 0.85rem !important;
    transition: border-color 0.15s ease, outline 0.15s ease;
}

.fpb-subscribe-form input[type="email"]:focus {
    outline: 2px solid var(--fpb-teal) !important;
    outline-offset: -1px;
    border-color: var(--fpb-teal) !important;
}

.fpb-subscribe-form button {
    border-radius: 6px !important;
    transition: background-color 0.15s ease, transform 0.1s ease;
}

.fpb-subscribe-form button:hover {
    background: var(--fpb-orange-ink) !important;
    transform: translateY(-1px);
}

/* -- Single post - content ----------------------------------------------------- */
.single .entry-header h1.entry-title {
    font-size: 1.85rem;
    line-height: 1.25;
    margin-top: 0;
    margin-bottom: 0.5rem;
    color: #222;
}

.single .entry-meta,
.single .post-author-info {
    color: #888;
    font-size: 0.85rem;
}

.single .entry-content p {
    line-height: 1.65;
}

.single .entry-content a {
    color: var(--fpb-red);
}

.single .entry-content img {
    border-radius: 4px;
    max-width: 100%;
    height: auto;
}

/* -- Single post - share bar --------------------------------------------------- */
.fpb-share-bar {
    margin: 1.5rem 0 2rem;
    padding: 0.85rem 1rem;
    background: var(--fpb-light-bg);
    border-radius: 6px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem;
    font-size: 0.85rem;
}

.fpb-share-bar .fpb-share-label {
    font-weight: 700;
    color: var(--fpb-teal-ink);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.78rem;
    margin-right: 0.4rem;
}

.fpb-share-bar .fpb-share-link {
    display: inline-block;
    padding: 0.4rem 0.85rem;
    background: #ffffff;
    color: var(--fpb-body) !important;
    border: 1px solid var(--fpb-border);
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.15s ease;
}

.fpb-share-bar .fpb-share-link:hover {
    background: var(--fpb-orange-ink);
    color: #ffffff !important;
    border-color: var(--fpb-orange-ink);
}

.fpb-share-bar .fpb-share-print:hover {
    background: var(--fpb-teal-ink);
    border-color: var(--fpb-teal-ink);
}

/* -- Single post - related posts grid ------------------------------------------ */
.fpb-related-posts {
    margin: 2.5rem 0 1.5rem;
    border-top: 3px solid var(--fpb-teal);
    padding-top: 1.5rem;
}

.fpb-related-heading {
    color: var(--fpb-teal-ink) !important;
    font-size: 1.15rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}

.fpb-related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

@media (max-width: 768px) {
    .fpb-related-grid {
        grid-template-columns: 1fr;
    }
}

.fpb-related-card {
    display: block;
    text-decoration: none !important;
    color: inherit !important;
    background: #ffffff;
    border: 1px solid var(--fpb-border);
    border-radius: 6px;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.fpb-related-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.1);
}

.fpb-related-img img {
    width: 100%;
    height: 140px;
    object-fit: cover;
    display: block;
}

.fpb-related-meta {
    padding: 0.75rem 0.85rem;
}

.fpb-related-title {
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    margin: 0 0 0.35rem !important;
    color: #222 !important;
}

.fpb-related-card:hover .fpb-related-title {
    color: var(--fpb-red) !important;
}

.fpb-related-date {
    color: #888 !important;
    font-size: 0.75rem;
}

/* -- Print styles -------------------------------------------------------------- */
@media print {
    .fpb-share-bar,
    .fpb-related-posts,
    .site-header,
    .main-navigation,
    .widget-area,
    .sidebar,
    .comments-area,
    .site-footer,
    nav,
    aside {
        display: none !important;
    }

    body {
        font-size: 11pt;
        color: #000;
        background: #fff;
    }

    .entry-content {
        max-width: 100% !important;
    }
}

/* -- Category / tag archives + breadcrumbs ------------------------------------- */
.archive .page-header h1 {
    color: var(--fpb-teal-ink) !important;
    font-size: 1.4rem;
    border-bottom: 3px solid var(--fpb-teal);
    padding-bottom: 0.5rem;
}

.archive .entry-title a {
    color: #222;
    text-decoration: none;
}

.archive .entry-title a:hover {
    color: var(--fpb-red);
}

.fpb-archive-description {
    background: var(--fpb-light-bg);
    border-left: 4px solid var(--fpb-teal);
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    border-radius: 0 6px 6px 0;
    font-size: 0.95rem;
    line-height: 1.55;
    color: var(--fpb-body);
}

.fpb-archive-description p:last-child {
    margin-bottom: 0;
}

.fpb-breadcrumbs {
    max-width: 1200px;
    margin: 0.85rem auto 0;
    padding: 0 1rem;
}

.fpb-breadcrumb-trail {
    color: #777;
    font-size: 0.85rem;
    margin: 0 0 0.5rem;
    line-height: 1.5;
}

.fpb-breadcrumb-trail a {
    color: var(--fpb-teal-ink);
    text-decoration: none;
}

.fpb-breadcrumb-trail a:hover {
    color: var(--fpb-red);
    text-decoration: underline;
}

.fpb-breadcrumb-trail .breadcrumb_last {
    color: #555;
    font-weight: 600;
}

/* -- Tipline page -------------------------------------------------------------- */
.page-tipline .comments-area,
.page-id-113 .comments-area,
body[class*="page-tipline"] .comments-area {
    display: none !important;
}

.page-tipline .wpcf7,
.page-id-113 .wpcf7,
body[class*="page-tipline"] .wpcf7 {
    background: var(--fpb-light-bg);
    padding: 1.5rem;
    border-radius: 8px;
    border: 1px solid var(--fpb-border);
}

.page-tipline .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.page-id-113 .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body[class*="page-tipline"] .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]) {
    border: 1px solid #ccc !important;
    border-radius: 6px !important;
    padding: 0.65rem 0.85rem !important;
    font-size: 1rem !important;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.15s ease, outline 0.15s ease;
}

.page-tipline .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus,
.page-id-113 .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus,
body[class*="page-tipline"] .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus {
    outline: 2px solid var(--fpb-teal-ink) !important;
    outline-offset: -1px;
    border-color: var(--fpb-teal-ink) !important;
}

.page-tipline .wpcf7-submit,
.page-id-113 .wpcf7-submit,
body[class*="page-tipline"] .wpcf7-submit {
    background: var(--fpb-orange-ink) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 0.85rem 1.85rem !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.1s ease;
}

.page-tipline .wpcf7-submit:hover,
.page-id-113 .wpcf7-submit:hover,
body[class*="page-tipline"] .wpcf7-submit:hover {
    background: #9A381A !important;
    transform: translateY(-1px);
}

/* -- Footer -------------------------------------------------------------------- */
.site-footer {
    background-color: #2a2a2a !important;
    color: #ccc !important;
    padding: 0 !important;
    font-size: 0.9rem;
}

.footer-widgets {
    background-color: #2a2a2a;
    padding: 2.5rem 1rem 1rem;
}

.footer-widgets-container {
    max-width: 1200px;
    margin: 0 auto;
}

.footer-widgets .footer-widget-1,
.footer-widgets .footer-widget-2,
.footer-widgets .footer-widget-3 {
    color: #ccc;
}

.footer-widgets h2,
.footer-widgets h3,
.footer-widgets h4,
.footer-widgets .widget-title,
.footer-widgets .wp-block-heading {
    color: #ffffff !important;
    font-size: 0.85rem !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 2px solid var(--fpb-orange);
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
}

.footer-widgets a {
    color: #ffffff !important;
    text-decoration: none;
}

.footer-widgets a:hover {
    color: var(--fpb-orange) !important;
}

.footer-widgets ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-widgets ul li {
    padding: 0.3rem 0;
    border-bottom: 1px solid #3a3a3a;
}

.footer-widgets ul li:last-child {
    border-bottom: none;
}

.site-footer .site-info {
    background: #1c1c1c;
    padding: 1rem;
    text-align: center;
    border-top: 1px solid #3a3a3a;
}

.site-footer .copyright-bar {
    font-size: 0.85rem;
    color: #aaa;
}

.site-footer .copyright-bar a {
    color: #fff;
    text-decoration: none;
}

.site-footer .copyright-bar a:hover {
    color: var(--fpb-orange);
}

.site-footer .copyright-bar a[href*="generatepress.com"],
.site-footer .copyright-bar a[itemprop="url"][href*="generatepress.com"] {
    display: none !important;
}

/* -- 404 page ------------------------------------------------------------------ */
body.error404 .entry-header h1,
body.error404 .page-title {
    color: var(--fpb-red) !important;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 3rem;
    margin-bottom: 1rem;
}

body.error404 .entry-content {
    text-align: center;
    padding: 2rem 1rem;
}

body.error404 .search-form {
    max-width: 400px;
    margin: 1.5rem auto;
}

body.error404 .search-form input[type="search"] {
    border: 1px solid var(--fpb-border);
    border-radius: 6px;
    padding: 0.6rem 0.85rem;
    width: 100%;
}

/* -- Responsive nudges (mobile) ------------------------------------------------ */
@media (max-width: 768px) {
    .widget-area .widget {
        margin-bottom: 1rem;
    }

    .site-header {
        padding: 1rem 0.75rem !important;
    }

    .fpb-share-bar {
        font-size: 0.78rem;
    }

    .fpb-share-bar .fpb-share-link {
        padding: 0.35rem 0.7rem;
    }
}

/* -- Body links / text colors -------------------------------------------------- */
body {
    color: var(--fpb-body);
}

a {
    color: var(--fpb-red);
}

a:hover {
    color: var(--fpb-red-ink);
}

/* -- Layout fixes: header spacing, nav height, search, captcha, subscribe, card contrast, sidebar/column spacing --- */
.site-header {
    padding-bottom: 1.75rem !important;
}

.main-title,
.main-title a,
.site-title,
.site-title a {
    line-height: 1.25 !important;
}

.main-navigation .main-nav ul li a,
.main-navigation .main-nav ul ul li a,
.main-navigation .menu li a {
    padding-top: 0.45rem !important;
    padding-bottom: 0.45rem !important;
    font-size: 0.92rem !important;
}

.main-navigation .main-nav ul ul li a {
    padding-top: 0.4rem !important;
    padding-bottom: 0.4rem !important;
}

.widget-area .wp-block-search,
.widget-area .wp-block-search__inside-wrapper {
    max-width: 100%;
    box-sizing: border-box;
}

.widget-area .wp-block-search__input {
    min-width: 0 !important;
    width: 100% !important;
    flex: 1 1 auto !important;
}

.widget-area .wp-block-search__button {
    flex: 0 0 auto;
    white-space: nowrap;
}

.entry-content img,
.page .entry-content img,
.single .entry-content img {
    max-width: 100% !important;
    height: auto !important;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.page-tipline .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.page-id-113 .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body[class*="page-tipline"] .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]) {
}

.page-tipline img.wpcf7-captchac,
.page-tipline img.wpcf7-form-control,
.page-id-113 img.wpcf7-captchac,
.page-id-113 img.wpcf7-form-control,
body[class*="page-tipline"] img.wpcf7-captchac,
body[class*="page-tipline"] img.wpcf7-form-control {
    width: auto !important;
    max-width: 200px !important;
    height: auto !important;
    border: 1px solid var(--fpb-border);
    border-radius: 6px;
    padding: 0.25rem;
    background: #fff;
    margin-bottom: 0.5rem;
}

.page-tipline input.wpcf7-captchar,
.page-id-113 input.wpcf7-captchar,
body[class*="page-tipline"] input.wpcf7-captchar {
    max-width: 200px !important;
}

.fpb-subscribe-form button,
.fpb-subscribe-form button:before,
.fpb-subscribe-form button:after {
    background-image: none !important;
    text-decoration: none !important;
    box-shadow: none !important;
    line-height: 1.2 !important;
}

.fpb-subscribe-form {
    border: 0 !important;
    background: transparent !important;
}

.fpb-subscribe-form hr {
    display: none !important;
}

body {
    background-color: #e8eaee !important;
}

.widget-area .widget_block > .wp-block-group,
.fpb-related-card,
.home .wp-block-group.has-background[style*="background-color:#ffffff"],
body.page-fpb-home .wp-block-group.has-background[style*="background-color:#ffffff"] {
    box-shadow: 0 2px 6px rgba(20, 24, 35, 0.07);
    border: 1px solid #d8dbe2 !important;
}

.home .wp-block-group.alignfull,
body.page-fpb-home .wp-block-group.alignfull {
    background-color: #ffffff;
}

.home .wp-block-group[style*="background-color:#f8f9fa"],
body.page-fpb-home .wp-block-group[style*="background-color:#f8f9fa"] {
    background-color: #eef0f3 !important;
}

.widget-area .widget,
.widget-area .widget_block {
    margin-bottom: 0.85rem !important;
}

.widget-area .widget_block > .wp-block-group {
    padding: 1rem 1rem !important;
}

.wp-block-columns {
    gap: 1.25rem !important;
}

.wp-block-query .wp-block-group {
    padding-top: 0.85rem !important;
    padding-bottom: 0.85rem !important;
}

.wp-block-column > .wp-block-group[style*="border-bottom"][style*="00ABBC"],
.wp-block-column > .wp-block-group[style*="border-bottom: 3px solid #00ABBC"] {
    margin-bottom: 0.25rem !important;
    padding-bottom: 0.5rem !important;
}

.wp-block-column > .wp-block-group[style*="border-bottom"] + .wp-block-query {
    margin-top: 0 !important;
}

@media (max-width: 900px) and (min-width: 601px) {
    .wp-block-columns.is-not-stacked-on-mobile,
    .wp-block-columns:not(.is-stacked-on-mobile) {
        flex-wrap: wrap !important;
    }

    .wp-block-columns:not(.is-stacked-on-mobile) > .wp-block-column {
        flex-basis: calc(50% - 0.75rem) !important;
        min-width: 0 !important;
    }
}

.wp-block-column > .wp-block-group[style*="border-bottom: 3px solid"] {
    margin-bottom: 0 !important;
    padding-bottom: 0.4rem !important;
}

.wp-block-column h3[style*="00ABBC"],
.wp-block-column h3.has-text-color[style*="00ABBC"] {
    margin: 0 !important;
}

.wp-block-column .wp-block-query .wp-block-post:first-child .wp-block-group {
    padding-top: 0.5rem !important;
}

.fpb-subscribe-form button:hover,
.fpb-subscribe-form button:focus {
    outline: none !important;
    box-shadow: 0 2px 6px rgba(194, 74, 31, 0.35) !important;
}

.widget-area .fpb-subscribe-form {
    margin-top: 0.35rem;
}

.widget-area .fpb-subscribe-form + .wp-block-social-links,
.widget_block .fpb-subscribe-form + .wp-block-social-links,
.widget-area .wp-block-social-links {
    margin-top: 1.5rem !important;
}

.widget-area .widget_block p + p {
    margin-top: 0.6rem;
}

/* -- Layout fixes: homepage rhythm, hero constraints, excerpt cards, featured images, responsive columns --- */
.home .wp-block-group.alignfull,
body.page-fpb-home .wp-block-group.alignfull {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

.home .wp-block-cover,
body.page-fpb-home .wp-block-cover {
    margin: 0 !important;
    min-height: 380px !important;
    max-height: 480px !important;
}

.home .wp-block-column .wp-block-query .wp-block-post > .wp-block-group,
body.page-fpb-home .wp-block-column .wp-block-query .wp-block-post > .wp-block-group {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
}

.home .wp-block-column .wp-block-query .wp-block-post:first-child > .wp-block-group,
body.page-fpb-home .wp-block-column .wp-block-query .wp-block-post:first-child > .wp-block-group {
    padding-top: 0.4rem !important;
}

.home .wp-block-post-excerpt,
body.page-fpb-home .wp-block-post-excerpt {
    font-size: 0.85rem;
    line-height: 1.5;
    color: #555;
    margin: 0.2rem 0 0.4rem 0 !important;
}

.home .wp-block-post-excerpt p,
body.page-fpb-home .wp-block-post-excerpt p {
    margin: 0 0 0.35rem 0 !important;
}

.home .wp-block-post-excerpt__more-text,
body.page-fpb-home .wp-block-post-excerpt__more-text {
    color: var(--fpb-red) !important;
    font-weight: 500;
}

.home .wp-block-column .wp-block-post-featured-image,
body.page-fpb-home .wp-block-column .wp-block-post-featured-image {
    margin-bottom: 0.5rem !important;
}

.home .wp-block-column .wp-block-post-featured-image img,
body.page-fpb-home .wp-block-column .wp-block-post-featured-image img {
    width: 100% !important;
    object-fit: cover;
    border-radius: 4px;
    aspect-ratio: 16 / 9;
    display: block;
}

.home .wp-block-query .wp-block-post-template.is-layout-grid,
body.page-fpb-home .wp-block-query .wp-block-post-template.is-layout-grid {
    gap: 1rem !important;
}

.home .wp-block-query .wp-block-post-template.is-layout-grid .wp-block-group.has-background,
body.page-fpb-home .wp-block-query .wp-block-post-template.is-layout-grid .wp-block-group.has-background {
    padding: 0.85rem 1rem !important;
}

.home .wp-block-column h3,
body.page-fpb-home .wp-block-column h3 {
    margin-top: 0 !important;
}

.home .wp-block-column > .wp-block-group[style*="border-bottom"][style*="00ABBC"],
body.page-fpb-home .wp-block-column > .wp-block-group[style*="border-bottom"][style*="00ABBC"] {
    padding-bottom: 0.35rem !important;
    margin-bottom: 0.5rem !important;
}

@media (max-width: 1024px) and (min-width: 769px) {
    .home .wp-block-columns:not(.is-stacked-on-mobile),
    body.page-fpb-home .wp-block-columns:not(.is-stacked-on-mobile) {
        flex-wrap: wrap !important;
    }

    .home .wp-block-columns:not(.is-stacked-on-mobile) > .wp-block-column,
    body.page-fpb-home .wp-block-columns:not(.is-stacked-on-mobile) > .wp-block-column {
        flex-basis: calc(50% - 0.75rem) !important;
        min-width: 0 !important;
    }
}

/* -- Top utility bar (date / RSS) ---------------------------------------------- */
.fpb-top-bar {
    background: #f4f5f7;
    border-bottom: 1px solid #e0e2e6;
    font-size: 0.78rem;
    color: #444;
    padding: 0.4rem 0;
}

.fpb-top-bar-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.fpb-top-date {
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #555;
}

.fpb-top-rss {
    display: flex;
    gap: 1.25rem;
    align-items: center;
}

.fpb-rss-link {
    color: #555 !important;
    text-decoration: none !important;
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.fpb-rss-link:hover {
    color: var(--fpb-orange-ink) !important;
}

.fpb-rss-icon {
    width: 14px;
    height: 14px;
    background: var(--fpb-orange-ink);
    display: inline-block;
    border-radius: 2px;
    position: relative;
}

.fpb-rss-icon::before {
    content: "";
    position: absolute;
    left: 3px;
    bottom: 3px;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #fff;
}

.fpb-rss-icon::after {
    content: "";
    position: absolute;
    left: 3px;
    bottom: 3px;
    width: 7px;
    height: 7px;
    border: 2px solid #fff;
    border-radius: 0 0 0 7px;
    border-top: 0;
    border-right: 0;
}

/* -- Header redesign: branding row, logo icon, title sizing -------------------- */
.inside-header {
    text-align: left !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0.85rem 1rem !important;
    gap: 0.85rem;
}

.inside-header .site-branding {
    text-align: left !important;
    margin: 0 !important;
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.site-header {
    padding: 0 !important;
    /* v32: grey hairline removed on every page (this LATER duplicate rule was
       re-adding the 1px border the base rule at line ~83 had zeroed; it only
       got overridden on .home, so non-home pages still showed the line). */
    border-bottom: 0 !important;
    background-color: #ffffff !important;
}

.fpb-logo-icon {
    flex: 0 0 auto;
    display: inline-block;
    width: 64px;
    height: 64px;
    line-height: 0;
}

.fpb-logo-icon svg {
    width: 64px;
    height: 64px;
    display: block;
}

@media (max-width: 768px) {
    .fpb-logo-icon,
    .fpb-logo-icon svg {
        width: 44px;
        height: 44px;
    }
}

.main-title,
.main-title a,
.main-title a:visited,
.site-title,
.site-title a,
.site-title a:visited {
    font-family: Georgia, 'Times New Roman', serif !important;
    font-weight: 700 !important;
    color: var(--fpb-red) !important;
    text-decoration: none !important;
    font-size: 3rem !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    letter-spacing: -0.01em;
}

@media (max-width: 768px) {
    .main-title,
    .main-title a,
    .site-title,
    .site-title a {
        font-size: 1.85rem !important;
    }
}

/* -- Navigation redesign: orange bar, inside-navigation, nav search form ------- */
.main-navigation {
    background-color: var(--fpb-orange-ink) !important;
}

.inside-navigation {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem !important;
    display: flex !important;
    align-items: stretch;
    gap: 0.5rem;
}

.main-navigation .main-nav,
.main-navigation .main-nav > ul {
    background-color: var(--fpb-orange-ink) !important;
    flex: 1 1 auto;
}

@media (min-width: 961px) {
    .main-navigation .main-nav > ul {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        align-items: stretch;
    }

    .main-navigation .main-nav ul li a {
        padding-top: 0.6rem !important;
        padding-bottom: 0.6rem !important;
        padding-left: 0.85rem !important;
        padding-right: 0.85rem !important;
        white-space: nowrap;
    }
}

.fpb-nav-search {
    display: flex;
    align-items: center;
    margin-left: auto;
    flex: 0 1 280px;
    min-width: 0;
    gap: 0;
    padding: 0.4rem 0;
}

.fpb-nav-search input[type="search"] {
    flex: 1 1 auto;
    min-width: 0;
    height: 30px;
    padding: 0 0.6rem;
    border: 1px solid #fff;
    border-right: none;
    border-radius: 3px 0 0 3px;
    background: #fff;
    color: #333;
    font-size: 0.85rem;
    outline: none;
}

.fpb-nav-search input[type="search"]::placeholder {
    color: #888;
}

.fpb-nav-search input[type="search"]:focus {
    border-color: #9A381A;
    box-shadow: inset 0 0 0 1px #9A381A;
}

.fpb-nav-search button {
    flex: 0 0 auto;
    height: 30px;
    padding: 0 0.9rem;
    background: #9A381A;
    color: #fff;
    border: 1px solid #9A381A;
    border-radius: 0 3px 3px 0;
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.fpb-nav-search button:hover {
    background: #6e2710;
}

@media (max-width: 960px) {
    .fpb-nav-search {
        flex: 1 1 100%;
        margin: 0.45rem 0;
        order: 0;
    }

    .main-navigation .menu-toggle {
        order: 1;
    }
}

/* -- Global whitespace + page/archive padding + responsive columns ------------- */
.widget-area .widget_block > .wp-block-group,
.home .wp-block-group.has-background[style*="background-color:#ffffff"],
body.page-fpb-home .wp-block-group.has-background[style*="background-color:#ffffff"],
.fpb-related-card {
    padding: 1rem !important;
    margin-bottom: 1rem !important;
}

.home .wp-block-group.alignfull,
body.page-fpb-home .wp-block-group.alignfull {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

.home .wp-block-cover,
body.page-fpb-home .wp-block-cover {
    margin: 0 !important;
    min-height: 360px !important;
    max-height: 460px !important;
}

.home .wp-block-cover .wp-block-cover__inner-container,
body.page-fpb-home .wp-block-cover .wp-block-cover__inner-container {
    padding: 1.5rem !important;
}

.home > .entry-content > .wp-block-group:first-child,
body.page-fpb-home > .entry-content > .wp-block-group:first-child,
.home .entry-content > .wp-block-group:has(.wp-block-cover),
body.page-fpb-home .entry-content > .wp-block-group:has(.wp-block-cover) {
    padding: 0 !important;
    /* zero ONLY vertical margin — leaving margin-left/right free lets the native
       GP alignfull breakout (margin: calc(50% - 50vw)) apply to the hero band so
       its featured columns line up edge-to-edge with the Latest News cards. A
       blanket `margin:0` here was silently killing that breakout (the hero
       contains .wp-block-cover, so this rule matched it; the Latest News band
       uses featured-images, not covers, so it was exempt and broke out). */
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.page:not(.home):not(.page-fpb-home) .site-content,
.page:not(.home):not(.page-fpb-home) .content-area,
.single .site-content,
.archive .site-content,
.search .site-content {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
}

.page:not(.home):not(.page-fpb-home) .inside-article,
.single .inside-article,
.archive .inside-article,
.search .inside-article {
    padding: 1.25rem !important;
}

@media (max-width: 768px) {
    .page:not(.home):not(.page-fpb-home) .inside-article,
    .single .inside-article,
    .archive .inside-article,
    .search .inside-article {
        padding: 1rem !important;
    }
}

.archive .site-content,
.search .site-content {
    padding-top: 0.5rem !important;
}

.archive .page-header,
.search .page-header {
    margin-bottom: 0.75rem !important;
    padding-bottom: 0 !important;
}

.archive .page-header h1,
.search .page-header h1 {
    margin: 0 0 0.5rem !important;
    padding-bottom: 0.35rem !important;
}

.fpb-breadcrumbs {
    margin: 0.5rem auto 0.5rem !important;
}

.fpb-breadcrumb-trail {
    margin: 0 !important;
    padding: 0 !important;
}

.archive article.post,
.search article.post {
    margin-bottom: 1rem !important;
}

.archive .inside-article,
.search .inside-article {
    margin-bottom: 1rem !important;
}

@media (max-width: 1199px) {
    .home .wp-block-columns:not(.is-stacked-on-mobile),
    body.page-fpb-home .wp-block-columns:not(.is-stacked-on-mobile) {
        gap: 1rem !important;
    }
}

@media (max-width: 959px) {
    .home .wp-block-columns,
    body.page-fpb-home .wp-block-columns {
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        gap: 1rem !important;
    }

    .home .wp-block-columns > .wp-block-column,
    body.page-fpb-home .wp-block-columns > .wp-block-column {
        flex-basis: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
    }

    .home .wp-block-query .wp-block-post-template.is-layout-grid,
    body.page-fpb-home .wp-block-query .wp-block-post-template.is-layout-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 768px) {
    .home .wp-block-cover,
    body.page-fpb-home .wp-block-cover {
        min-height: 280px !important;
        max-height: 380px !important;
        margin: 0 !important;
    }

    .home .wp-block-cover .wp-block-cover__inner-container,
    body.page-fpb-home .wp-block-cover .wp-block-cover__inner-container {
        padding: 1rem !important;
    }

    .home > .entry-content,
    body.page-fpb-home > .entry-content,
    .home .entry-content,
    body.page-fpb-home .entry-content {
        padding: 0 !important;
        margin: 0 !important;
    }

    .home .wp-block-group.alignfull,
    body.page-fpb-home .wp-block-group.alignfull {
        padding: 0.75rem 0.75rem !important;
    }

    .home .wp-block-cover .wp-block-post-title,
    body.page-fpb-home .wp-block-cover .wp-block-post-title {
        font-size: 1.5rem !important;
        line-height: 1.25 !important;
    }
}

.widget-area .fpb-subscribe-form + .wp-block-social-links,
.widget_block .fpb-subscribe-form + .wp-block-social-links,
.widget-area .wp-block-social-links,
.widget_block .wp-block-social-links {
    margin-top: 1.5rem !important;
    clear: both;
}

.widget-area .widget_block .wp-block-paragraph,
.widget-area .widget_block p {
    margin-top: 0 !important;
    margin-bottom: 0.5rem !important;
    font-size: 0.85rem;
    line-height: 1.5;
}

.widget-area .widget_block .wp-block-heading {
    margin-bottom: 0.5rem !important;
}

.home .wp-block-query .wp-block-post > .wp-block-group,
body.page-fpb-home .wp-block-query .wp-block-post > .wp-block-group {
    padding: 0.6rem 0 !important;
    border-radius: 0 !important;
}

.home .wp-block-query .wp-block-post-template.is-layout-grid .wp-block-group.has-background,
body.page-fpb-home .wp-block-query .wp-block-post-template.is-layout-grid .wp-block-group.has-background {
    padding: 0.75rem !important;
    margin: 0 !important;
}

.widget-area .widget_block {
    margin-bottom: 0.75rem !important;
}

.widget-area .widget_block > .wp-block-group {
    padding: 0.85rem !important;
}

.home h2,
body.page-fpb-home h2 {
    margin: 0 0 0.5rem !important;
    font-size: 1.4rem !important;
}

.home h3,
body.page-fpb-home h3 {
    margin: 0 0 0.35rem !important;
}

.home .wp-block-post-excerpt,
body.page-fpb-home .wp-block-post-excerpt {
    margin: 0.25rem 0 0.35rem !important;
}

.home .wp-block-post-date,
body.page-fpb-home .wp-block-post-date {
    margin: 0 !important;
}

.main-navigation .navigation-search,
.main-navigation .gp-icon.icon-search {
    display: none !important;
}

/* -- Nav-below-header override + header/title/nav sizing ----------------------- */
.site-header,
.site-header .inside-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 0 !important;
}

.site-header .inside-header > .site-branding {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 1rem;
    padding: 0.85rem 1rem !important;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto !important;
    box-sizing: border-box;
}

.site-header .main-navigation,
.nav-float-right .site-header .main-navigation,
.nav-float-right .main-navigation,
body.nav-float-right .main-navigation {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    position: relative !important;
    background-color: var(--fpb-orange-ink) !important;
}

.site-header {
    max-width: 100% !important;
    width: 100% !important;
}

.main-title,
.main-title a,
.site-title,
.site-title a {
    font-size: 3.5rem !important;
    letter-spacing: -0.02em;
}

@media (max-width: 768px) {
    .main-title,
    .main-title a,
    .site-title,
    .site-title a {
        font-size: 2rem !important;
    }
}

.fpb-logo-icon,
.fpb-logo-icon svg {
    width: 72px !important;
    height: 72px !important;
}

@media (max-width: 768px) {
    .fpb-logo-icon,
    .fpb-logo-icon svg {
        width: 48px !important;
        height: 48px !important;
    }
}

.site-header .main-navigation .inside-navigation {
    max-width: 1200px;
    margin: 0 auto !important;
    padding: 0 1rem !important;
    display: flex !important;
    align-items: stretch;
    gap: 0.5rem;
    flex-wrap: nowrap;
    justify-content: flex-start;
}

.site-header .main-navigation .inside-navigation > .main-nav {
    order: 1 !important;
    flex: 0 1 auto;
}

.site-header .main-navigation .inside-navigation > .menu-toggle {
    order: 2 !important;
}

.site-header .main-navigation .inside-navigation > .fpb-nav-search {
    order: 3 !important;
    margin-left: auto !important;
}

@media (min-width: 961px) {
    .site-header .main-navigation .main-nav > ul {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
    }
}

@media (max-width: 960px) {
    .site-header .main-navigation .inside-navigation {
        flex-direction: column !important;
        padding: 0.5rem 1rem !important;
    }

    .site-header .main-navigation .main-nav {
        order: 2;
    }

    .fpb-nav-search {
        order: 1;
        margin-left: 0 !important;
        flex: 1 1 100% !important;
    }
}

.site-header .inside-header > .site-branding {
    padding-bottom: 0.65rem !important;
}

.site-header .main-navigation {
    border-top: 0 !important;
}

/* -- Layout fixes: white body, centered branding, Arial title, responsive, social spacing, padding shrink --- */
body,
body.home,
body.page,
body.single,
body.archive,
body.search,
body.error404 {
    background-color: #ffffff !important;
}

.home .wp-block-group[style*="background-color:#f8f9fa"],
body.page-fpb-home .wp-block-group[style*="background-color:#f8f9fa"] {
    background-color: #ffffff !important;
}

.widget-area .widget_block > .wp-block-group,
.fpb-related-card,
.home .wp-block-group.has-background[style*="background-color:#ffffff"],
body.page-fpb-home .wp-block-group.has-background[style*="background-color:#ffffff"] {
    box-shadow: 0 1px 3px rgba(20, 24, 35, 0.06), 0 0 0 1px rgba(20, 24, 35, 0.05) !important;
    border: 1px solid #e8eaee !important;
}

.site-header .inside-header > .site-branding,
.inside-header .site-branding {
    justify-content: center !important;
    text-align: center !important;
    align-items: center !important;
}

.main-title,
.main-title a,
.main-title a:visited,
.site-title,
.site-title a,
.site-title a:visited {
    font-family: "Droid Sans", Arial, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: -2px !important;
    line-height: 1.15 !important;
}

@media (max-width: 1024px) {
    .home .wp-block-columns:not(.is-stacked-on-mobile),
    body.page-fpb-home .wp-block-columns:not(.is-stacked-on-mobile) {
        flex-wrap: wrap !important;
        gap: 1rem !important;
    }

    .home .wp-block-columns:not(.is-stacked-on-mobile) > .wp-block-column,
    body.page-fpb-home .wp-block-columns:not(.is-stacked-on-mobile) > .wp-block-column {
        flex-basis: calc(50% - 0.5rem) !important;
        max-width: calc(50% - 0.5rem) !important;
        min-width: 0 !important;
    }

    .home .wp-block-columns:has(> .wp-block-column.is-vertically-aligned-stretch),
    body.page-fpb-home .wp-block-columns:has(> .wp-block-column.is-vertically-aligned-stretch) {
        flex-direction: column !important;
    }
}

@media (max-width: 768px) {
    .home .wp-block-columns,
    body.page-fpb-home .wp-block-columns,
    .home .wp-block-columns:not(.is-stacked-on-mobile),
    body.page-fpb-home .wp-block-columns:not(.is-stacked-on-mobile) {
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        gap: 0.75rem !important;
    }

    .home .wp-block-columns > .wp-block-column,
    body.page-fpb-home .wp-block-columns > .wp-block-column,
    .home .wp-block-columns:not(.is-stacked-on-mobile) > .wp-block-column,
    body.page-fpb-home .wp-block-columns:not(.is-stacked-on-mobile) > .wp-block-column {
        flex-basis: 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
    }

    .home .wp-block-query .wp-block-post-template.is-layout-grid,
    body.page-fpb-home .wp-block-query .wp-block-post-template.is-layout-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (min-width: 961px) {
    .site-header .main-navigation .main-nav > ul,
    .main-navigation .main-nav > ul {
        flex-wrap: wrap !important;
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .fpb-nav-search {
        flex: 0 1 220px !important;
    }

    .site-header .main-navigation .inside-navigation {
        flex-wrap: wrap !important;
    }
}

.widget-area .widget_block {
    margin-bottom: 0.55rem !important;
}

.widget-area .widget_block > .wp-block-group {
    padding: 0.65rem !important;
}

.widget-area .widget_block .wp-block-paragraph,
.widget-area .widget_block p {
    margin-top: 0 !important;
    margin-bottom: 0.4rem !important;
}

.widget-area .widget_block .wp-block-heading {
    margin-bottom: 0.4rem !important;
}

.home .wp-block-group.has-background[style*="background-color:#ffffff"],
body.page-fpb-home .wp-block-group.has-background[style*="background-color:#ffffff"],
.fpb-related-card {
    padding: 0.75rem !important;
    margin-bottom: 0.75rem !important;
}

.home .wp-block-query .wp-block-post-template.is-layout-grid .wp-block-group.has-background,
body.page-fpb-home .wp-block-query .wp-block-post-template.is-layout-grid .wp-block-group.has-background {
    padding: 0.55rem !important;
}

.home .wp-block-column .wp-block-query .wp-block-post > .wp-block-group,
body.page-fpb-home .wp-block-column .wp-block-query .wp-block-post > .wp-block-group {
    padding-top: 0.55rem !important;
    padding-bottom: 0.55rem !important;
}

.home .wp-block-column .wp-block-query .wp-block-post:first-child > .wp-block-group,
body.page-fpb-home .wp-block-column .wp-block-query .wp-block-post:first-child > .wp-block-group {
    padding-top: 0.3rem !important;
}

.home .wp-block-group.alignfull,
body.page-fpb-home .wp-block-group.alignfull {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
}

.home .wp-block-cover .wp-block-cover__inner-container,
body.page-fpb-home .wp-block-cover .wp-block-cover__inner-container {
    padding: 1.1rem !important;
}

.home .wp-block-columns,
body.page-fpb-home .wp-block-columns {
    gap: 0.9rem !important;
}

.home .wp-block-query .wp-block-post-template.is-layout-grid,
body.page-fpb-home .wp-block-query .wp-block-post-template.is-layout-grid {
    gap: 0.75rem !important;
}

.home h2,
body.page-fpb-home h2 {
    margin: 0 0 0.4rem !important;
}

.home h3,
body.page-fpb-home h3 {
    margin: 0 0 0.25rem !important;
}

.home .wp-block-column .wp-block-post-featured-image,
body.page-fpb-home .wp-block-column .wp-block-post-featured-image {
    margin-bottom: 0.4rem !important;
}

.home .wp-block-post-excerpt,
body.page-fpb-home .wp-block-post-excerpt {
    margin: 0.2rem 0 0.25rem !important;
}

.widget-area .wp-block-social-links,
.widget_block .wp-block-social-links,
.fpb-subscribe-form + .wp-block-social-links,
.widget-area .fpb-subscribe-form + .wp-block-social-links,
.widget_block .fpb-subscribe-form + .wp-block-social-links {
    padding-top: 1.25rem !important;
    margin-top: 0.5rem !important;
    clear: both;
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 0.65rem !important;
}

.widget-area .fpb-subscribe-form,
.widget_block .fpb-subscribe-form {
    padding-bottom: 0.5rem !important;
    margin-bottom: 0.25rem !important;
}

.widget-area .wp-block-social-links li,
.widget_block .wp-block-social-links li {
    list-style: none !important;
    margin: 0 !important;
}

@media (max-width: 1024px) {
    .main-title,
    .main-title a,
    .site-title,
    .site-title a {
        font-size: 2.75rem !important;
        letter-spacing: -1.5px !important;
    }
}

@media (max-width: 768px) {
    .main-title,
    .main-title a,
    .site-title,
    .site-title a {
        font-size: 1.85rem !important;
        letter-spacing: -1px !important;
    }
}

@media (max-width: 768px) {
    .site-header .inside-header > .site-branding {
        flex-wrap: wrap !important;
        gap: 0.5rem !important;
        padding: 0.5rem 0.75rem !important;
    }
}

.main-navigation,
.site-header .main-navigation {
    width: 100% !important;
    background-color: var(--fpb-orange-ink) !important;
}

.page:not(.home):not(.page-fpb-home) .inside-article,
.single .inside-article,
.archive .inside-article,
.search .inside-article {
    padding: 0.95rem !important;
}

@media (max-width: 768px) {
    .page:not(.home):not(.page-fpb-home) .inside-article,
    .single .inside-article,
    .archive .inside-article,
    .search .inside-article {
        padding: 0.75rem !important;
    }
}

.home .wp-block-group[style*="ffffff"],
body.page-fpb-home .wp-block-group[style*="ffffff"],
.home .wp-block-group[style*="FFFFFF"],
body.page-fpb-home .wp-block-group[style*="FFFFFF"] {
    padding: 0.75rem !important;
}

/* -- Layout fixes: edge-to-edge home, social gap, card padding, teal title, slim nav, mobile nav --- */
.home .inside-article,
body.page-fpb-home .inside-article,
.home .entry-content,
body.page-fpb-home .entry-content {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.home article.page,
body.page-fpb-home article.page,
.home #post-,
.home main.site-main,
body.page-fpb-home main.site-main {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.home .grid-container.site-content,
body.page-fpb-home .grid-container.site-content,
.home #content.site-content,
body.page-fpb-home #content.site-content {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.home .wp-block-group.alignfull > .wp-block-group__inner-container,
body.page-fpb-home .wp-block-group.alignfull > .wp-block-group__inner-container {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.wp-block-social-links,
.widget-area .wp-block-social-links,
.widget_block .wp-block-social-links,
.fpb-subscribe-form + .wp-block-social-links,
.widget-area .fpb-subscribe-form + .wp-block-social-links,
.widget_block .fpb-subscribe-form + .wp-block-social-links,
.wp-block-group .fpb-subscribe-form + .wp-block-social-links {
    padding-top: 2rem !important;
    margin-top: 1rem !important;
    clear: both;
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 0.75rem !important;
    border-top: 1px solid transparent;
}

.fpb-subscribe-form,
.widget-area .fpb-subscribe-form,
.widget_block .fpb-subscribe-form {
    padding-bottom: 0.75rem !important;
    margin-bottom: 0.5rem !important;
}

.widget-area .widget_block > .wp-block-group {
    padding: 0.49rem 0.65rem !important;
}

.home .wp-block-group.has-background[style*="background-color:#ffffff"],
body.page-fpb-home .wp-block-group.has-background[style*="background-color:#ffffff"],
.home .wp-block-group[style*="ffffff"],
body.page-fpb-home .wp-block-group[style*="ffffff"],
.home .wp-block-group[style*="FFFFFF"],
body.page-fpb-home .wp-block-group[style*="FFFFFF"],
.fpb-related-card {
    padding: 0.56rem 0.7rem !important;
}

.home .wp-block-query .wp-block-post-template.is-layout-grid .wp-block-group.has-background,
body.page-fpb-home .wp-block-query .wp-block-post-template.is-layout-grid .wp-block-group.has-background {
    padding: 0.41rem 0.55rem !important;
}

.widget-area .widget_block .wp-block-heading {
    margin-bottom: 0.3rem !important;
}

.widget-area .widget_block .wp-block-paragraph,
.widget-area .widget_block p {
    margin-bottom: 0.3rem !important;
}

.main-title,
.main-title a,
.main-title a:visited,
.site-title,
.site-title a,
.site-title a:visited,
h1.main-title,
h1.site-title,
.site-branding h1,
.site-branding h1 a {
    font-family: Arial, sans-serif !important;
    font-weight: 700 !important;
    color: var(--fpb-teal) !important;
    letter-spacing: -1.5px !important;
    line-height: 1.1 !important;
}

.main-title a:hover,
.site-title a:hover,
.site-branding h1 a:hover {
    color: var(--fpb-teal-ink) !important;
    text-decoration: none !important;
    opacity: 0.85;
}

.main-navigation .main-nav ul li a,
.site-header .main-navigation .main-nav ul li a {
    padding-top: 0.35rem !important;
    padding-bottom: 0.35rem !important;
    line-height: 1.4 !important;
}

@media (min-width: 961px) {
    .main-navigation .main-nav ul li a,
    .site-header .main-navigation .main-nav ul li a {
        padding-top: 0.35rem !important;
        padding-bottom: 0.35rem !important;
    }
}

.fpb-nav-search input[type="search"],
.fpb-nav-search button {
    height: 28px !important;
    font-size: 0.82rem !important;
}

.site-header .main-navigation .inside-navigation {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
    min-height: 0 !important;
}

@media (max-width: 960px) {
    .fpb-nav-search {
        display: none !important;
    }

    .site-header .main-navigation .inside-navigation {
        flex-direction: row !important;
        justify-content: flex-end !important;
        padding: 0.25rem 1rem !important;
    }

    .main-navigation .menu-toggle {
        margin: 0 !important;
        padding: 0.5rem 0.85rem !important;
        background: transparent !important;
    }

    .main-navigation .main-nav {
        flex: 1 1 100% !important;
    }

    .main-navigation .main-nav > ul {
        flex-direction: column !important;
    }
}

@media (max-width: 1024px) {
    .home .wp-block-columns:not(.is-stacked-on-mobile),
    body.page-fpb-home .wp-block-columns:not(.is-stacked-on-mobile) {
        flex-wrap: wrap !important;
    }

    .home .wp-block-columns:not(.is-stacked-on-mobile) > .wp-block-column,
    body.page-fpb-home .wp-block-columns:not(.is-stacked-on-mobile) > .wp-block-column {
        flex-basis: calc(50% - 0.45rem) !important;
        max-width: calc(50% - 0.45rem) !important;
    }
}

@media (max-width: 768px) {
    .home .wp-block-columns,
    body.page-fpb-home .wp-block-columns {
        flex-direction: column !important;
    }

    .home .wp-block-columns > .wp-block-column,
    body.page-fpb-home .wp-block-columns > .wp-block-column {
        flex-basis: 100% !important;
        max-width: 100% !important;
    }
}

.main-title,
.main-title a,
.site-title,
.site-title a {
    font-size: 3.75rem !important;
}

@media (max-width: 1024px) {
    .main-title,
    .main-title a,
    .site-title,
    .site-title a {
        font-size: 2.5rem !important;
    }
}

@media (max-width: 768px) {
    .main-title,
    .main-title a,
    .site-title,
    .site-title a {
        font-size: 1.85rem !important;
        letter-spacing: -1px !important;
    }
}

@media (max-width: 960px) {
    .main-navigation > .menu-toggle,
    .main-navigation .menu-toggle,
    button.menu-toggle {
        min-height: 0 !important;
        height: auto !important;
        padding: 0.35rem 0.85rem !important;
        margin: 0 !important;
        line-height: 1.4 !important;
        font-size: 0.9rem !important;
    }

    .main-navigation .menu-toggle .gp-icon,
    .main-navigation .menu-toggle svg {
        width: 18px !important;
        height: 18px !important;
        vertical-align: middle !important;
    }

    .site-header .main-navigation .inside-navigation,
    .main-navigation .inside-navigation {
        padding: 0 !important;
        min-height: 0 !important;
        height: auto !important;
    }

    .main-navigation .inside-navigation {
        display: none !important;
    }

    .main-navigation.toggled .inside-navigation,
    .main-navigation .main-nav.toggled-on,
    .main-navigation .inside-navigation.toggled-on {
        display: flex !important;
    }
}

/* -- Layout fixes: internal card padding, single-line nav, non-home sidebar spacing --- */
.widget-area .widget_block > .wp-block-group,
.widget-area .widget_block > div > .wp-block-group {
    padding: 0.32rem 0.42rem !important;
}

.home .wp-block-group.has-background[style*="background-color:#ffffff"],
body.page-fpb-home .wp-block-group.has-background[style*="background-color:#ffffff"],
.home .wp-block-group[style*="ffffff"],
body.page-fpb-home .wp-block-group[style*="ffffff"],
.home .wp-block-group[style*="FFFFFF"],
body.page-fpb-home .wp-block-group[style*="FFFFFF"],
.fpb-related-card {
    padding: 0.36rem 0.45rem !important;
}

.home .wp-block-query .wp-block-post-template.is-layout-grid .wp-block-group.has-background,
body.page-fpb-home .wp-block-query .wp-block-post-template.is-layout-grid .wp-block-group.has-background {
    padding: 0.27rem 0.36rem !important;
}

.home .wp-block-group.has-background[style*="background-color:#ffffff"],
body.page-fpb-home .wp-block-group.has-background[style*="background-color:#ffffff"],
.fpb-related-card {
    margin-bottom: 1rem !important;
}

@media (min-width: 961px) {
    .site-header .main-navigation .main-nav > ul {
        flex-wrap: nowrap !important;
        white-space: nowrap;
    }

    .main-navigation .main-nav ul li a,
    .site-header .main-navigation .main-nav ul li a {
        font-size: 0.85rem !important;
        padding-left: 0.6rem !important;
        padding-right: 0.6rem !important;
        white-space: nowrap;
    }

    .fpb-nav-search {
        flex: 0 0 200px !important;
    }

    .fpb-nav-search input[type="search"] {
        font-size: 0.8rem !important;
    }

    .fpb-nav-search button {
        font-size: 0.8rem !important;
        padding: 0 0.7rem !important;
    }
}

@media (min-width: 961px) and (max-width: 1200px) {
    .main-navigation .main-nav ul li a,
    .site-header .main-navigation .main-nav ul li a {
        font-size: 0.8rem !important;
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }

    .fpb-nav-search {
        flex: 0 0 160px !important;
    }
}

.page:not(.home):not(.page-fpb-home) .widget-area .widget,
.page:not(.home):not(.page-fpb-home) .widget-area .widget_block,
.single .widget-area .widget,
.single .widget-area .widget_block,
.archive .widget-area .widget,
.archive .widget-area .widget_block,
.search .widget-area .widget,
.search .widget-area .widget_block {
    margin-bottom: 0.4rem !important;
}

.page:not(.home):not(.page-fpb-home) .widget-area .wp-block-heading,
.single .widget-area .wp-block-heading,
.archive .widget-area .wp-block-heading,
.search .widget-area .wp-block-heading {
    margin-bottom: 0.3rem !important;
}

.page:not(.home):not(.page-fpb-home) .widget-area > *:not(:last-child),
.single .widget-area > *:not(:last-child),
.archive .widget-area > *:not(:last-child),
.search .widget-area > *:not(:last-child) {
    margin-bottom: 0.4rem !important;
}

.page:not(.home):not(.page-fpb-home) .widget-area .widget.inner-padding,
.single .widget-area .widget.inner-padding,
.archive .widget-area .widget.inner-padding,
.search .widget-area .widget.inner-padding,
.page:not(.home):not(.page-fpb-home) .widget-area .widget,
.single .widget-area .widget,
.archive .widget-area .widget,
.search .widget-area .widget {
    padding: 0 !important;
}

/* -- Layout fixes: red title, ultra-tight card padding ------------------------- */
.main-title,
.main-title a,
.main-title a:visited,
.site-title,
.site-title a,
.site-title a:visited,
h1.main-title,
h1.site-title,
.site-branding h1,
.site-branding h1 a,
.site-branding h1 a:visited {
    color: var(--fpb-red) !important;
    font-family: Arial, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: -1.5px !important;
}

.main-title a:hover,
.site-title a:hover,
.site-branding h1 a:hover {
    color: var(--fpb-red-ink) !important;
    text-decoration: none !important;
    opacity: 0.9;
}

.home .wp-block-group.has-background[style*="background-color:#ffffff"],
body.page-fpb-home .wp-block-group.has-background[style*="background-color:#ffffff"],
.home .wp-block-group[style*="ffffff"],
body.page-fpb-home .wp-block-group[style*="ffffff"],
.home .wp-block-group[style*="FFFFFF"],
body.page-fpb-home .wp-block-group[style*="FFFFFF"],
.home .wp-block-post .wp-block-group.has-background,
body.page-fpb-home .wp-block-post .wp-block-group.has-background,
.fpb-related-card {
    padding: 0.15rem 0.2rem !important;
}

.home .wp-block-query .wp-block-post-template.is-layout-grid .wp-block-group.has-background,
body.page-fpb-home .wp-block-query .wp-block-post-template.is-layout-grid .wp-block-group.has-background {
    padding: 0.15rem 0.2rem !important;
}

.widget-area .widget_block > .wp-block-group,
.widget-area .widget_block > div > .wp-block-group {
    padding: 0.15rem 0.2rem !important;
}

.site-footer .wp-block-group.has-background,
.footer-widgets .wp-block-group.has-background {
    padding: 0.15rem 0.2rem !important;
}

.home .wp-block-group.has-background[style*="background-color:#ffffff"],
body.page-fpb-home .wp-block-group.has-background[style*="background-color:#ffffff"],
.home .wp-block-post .wp-block-group.has-background,
body.page-fpb-home .wp-block-post .wp-block-group.has-background {
    padding-top: 0.15rem !important;
    padding-right: 0.2rem !important;
    padding-bottom: 0.15rem !important;
    padding-left: 0.2rem !important;
}

.home .wp-block-post .wp-block-group .wp-block-post-title,
body.page-fpb-home .wp-block-post .wp-block-group .wp-block-post-title,
.widget-area .widget_block .wp-block-heading,
.home .wp-block-group .wp-block-heading,
body.page-fpb-home .wp-block-group .wp-block-heading {
    margin-top: 0 !important;
    margin-bottom: 0.2rem !important;
}

.home .wp-block-post .wp-block-group p,
body.page-fpb-home .wp-block-post .wp-block-group p,
.widget-area .widget_block p {
    margin-top: 0 !important;
    margin-bottom: 0.2rem !important;
}

.home .wp-block-post .wp-block-group .wp-block-post-date,
body.page-fpb-home .wp-block-post .wp-block-group .wp-block-post-date {
    margin-top: 0.1rem !important;
    margin-bottom: 0 !important;
}

.home .wp-block-post .wp-block-group .wp-block-post-featured-image,
body.page-fpb-home .wp-block-post .wp-block-group .wp-block-post-featured-image {
    margin: 0 0 0.15rem 0 !important;
}

/* -- Layout fixes: inner-container padding, mobile menu specificity, hero excerpt, title text-shadow --- */
.home .wp-block-post .wp-block-group.has-background .wp-block-group__inner-container,
body.page-fpb-home .wp-block-post .wp-block-group.has-background .wp-block-group__inner-container,
.home .wp-block-group.has-background[style*="background-color:#ffffff"] .wp-block-group__inner-container,
body.page-fpb-home .wp-block-group.has-background[style*="background-color:#ffffff"] .wp-block-group__inner-container,
.widget-area .widget_block .wp-block-group__inner-container,
.fpb-related-card .wp-block-group__inner-container,
.wp-block-group.has-background > .wp-block-group__inner-container {
    padding: 0.2rem !important;
}

.home .wp-block-post .wp-block-group__inner-container > *,
body.page-fpb-home .wp-block-post .wp-block-group__inner-container > * {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

@media (max-width: 960px) {
    nav#site-navigation .inside-navigation,
    nav.main-navigation .inside-navigation {
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-end !important;
        padding: 0.25rem 0.75rem !important;
        min-height: 0 !important;
    }

    nav#site-navigation .main-nav,
    nav.main-navigation .main-nav {
        display: none !important;
    }

    nav#site-navigation .menu-toggle,
    nav.main-navigation .menu-toggle,
    .main-navigation .menu-toggle {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        margin: 0 !important;
        padding: 0.4rem 0.85rem !important;
        background: transparent !important;
        color: #ffffff !important;
        line-height: 1 !important;
        font-size: 1rem !important;
        min-height: 0 !important;
        height: auto !important;
    }

    nav#site-navigation .menu-toggle .gp-icon,
    nav#site-navigation .menu-toggle svg,
    nav.main-navigation .menu-toggle svg {
        width: 20px !important;
        height: 20px !important;
        fill: #ffffff !important;
    }

    nav#site-navigation .fpb-nav-search,
    nav.main-navigation .fpb-nav-search {
        display: none !important;
    }

    nav#site-navigation .main-nav.toggled-on,
    nav.main-navigation .main-nav.toggled-on,
    .main-nav.toggled-on {
        display: block !important;
        flex: 1 1 100% !important;
        width: 100% !important;
        order: 99;
    }

    nav#site-navigation .main-nav.toggled-on > ul,
    nav.main-navigation .main-nav.toggled-on > ul {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
    }

    nav#site-navigation,
    nav.main-navigation {
        min-height: 0 !important;
        height: auto !important;
    }
}

.home .wp-block-cover .wp-block-post-title,
body.page-fpb-home .wp-block-cover .wp-block-post-title,
.home .wp-block-cover .wp-block-post-excerpt,
body.page-fpb-home .wp-block-cover .wp-block-post-excerpt,
.home .wp-block-cover .wp-block-post-date,
body.page-fpb-home .wp-block-cover .wp-block-post-date,
.home .wp-block-cover .wp-block-post-author,
body.page-fpb-home .wp-block-cover .wp-block-post-author {
    text-align: left !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    max-width: 900px;
}

.home .wp-block-cover .wp-block-cover__inner-container,
body.page-fpb-home .wp-block-cover .wp-block-cover__inner-container {
    text-align: left !important;
    padding-left: 1.5rem !important;
}

.home .wp-block-cover .wp-block-cover__inner-container > *,
body.page-fpb-home .wp-block-cover .wp-block-cover__inner-container > * {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

.main-title,
.main-title a,
.site-title,
.site-title a,
h1.main-title,
h1.site-title,
.site-branding h1,
.site-branding h1 a {
    text-shadow: rgb(230, 230, 230) 2px 2px 0px !important;
}

/* -- Layout fixes: hide duplicate mobile menu, full-width header, responsive breakpoints --- */
nav#mobile-menu-control-wrapper,
.main-navigation.mobile-menu-control-wrapper {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -10000px !important;
}

.site-header .inside-header,
.site-header .inside-header.grid-container,
.inside-header.grid-container {
    width: 100% !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    flex: 1 1 100% !important;
    box-sizing: border-box;
}

.site-header .main-navigation .inside-navigation,
.main-navigation .inside-navigation.grid-container {
    width: 100% !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    flex: 1 1 100% !important;
    box-sizing: border-box;
}

.site-header .inside-header > .site-branding,
.inside-header .site-branding {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
}

.site-header,
header.site-header {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.home .site-content,
body.page-fpb-home .site-content,
.home #content.site-content,
body.page-fpb-home #content.site-content,
.home .grid-container.site-content,
body.page-fpb-home .grid-container.site-content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (min-width: 1025px) {
    .home .wp-block-columns:not(.is-stacked-on-mobile),
    body.page-fpb-home .wp-block-columns:not(.is-stacked-on-mobile) {
        flex-wrap: nowrap !important;
        flex-direction: row !important;
        gap: 0.9rem !important;
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .home .wp-block-columns:not(.is-stacked-on-mobile),
    body.page-fpb-home .wp-block-columns:not(.is-stacked-on-mobile) {
        flex-wrap: wrap !important;
        flex-direction: row !important;
        gap: 0.75rem !important;
    }

    .home .wp-block-columns:not(.is-stacked-on-mobile) > .wp-block-column,
    body.page-fpb-home .wp-block-columns:not(.is-stacked-on-mobile) > .wp-block-column {
        flex-basis: calc(50% - 0.4rem) !important;
        max-width: calc(50% - 0.4rem) !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .home .wp-block-columns:not(.is-stacked-on-mobile) > .wp-block-column:nth-child(3) ~ .wp-block-column,
    body.page-fpb-home .wp-block-columns:not(.is-stacked-on-mobile) > .wp-block-column:nth-child(3) ~ .wp-block-column {
        margin-top: 0.75rem !important;
    }
}

@media (max-width: 768px) {
    .home .wp-block-columns,
    body.page-fpb-home .wp-block-columns,
    .home .wp-block-columns:not(.is-stacked-on-mobile),
    body.page-fpb-home .wp-block-columns:not(.is-stacked-on-mobile) {
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        gap: 0.5rem !important;
    }

    .home .wp-block-columns > .wp-block-column,
    body.page-fpb-home .wp-block-columns > .wp-block-column,
    .home .wp-block-columns:not(.is-stacked-on-mobile) > .wp-block-column,
    body.page-fpb-home .wp-block-columns:not(.is-stacked-on-mobile) > .wp-block-column {
        flex-basis: 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
}

/* -- Footer dark background + card 15px padding -------------------------------- */
body .site-footer,
body .site-footer .footer-widgets,
body #footer-widgets.footer-widgets,
body .footer-widgets-container,
html body .footer-widgets {
    background-color: #2a2a2a !important;
    background: #2a2a2a !important;
}

body .site-footer .site-info {
    background-color: #1c1c1c !important;
    background: #1c1c1c !important;
}

body .footer-widgets,
body .footer-widgets p,
body .footer-widgets li,
body .footer-widgets .wp-block-list,
body .footer-widgets .widget {
    color: #cccccc !important;
}

body .footer-widgets a {
    color: #ffffff !important;
    text-decoration: none !important;
}

body .footer-widgets a:hover {
    color: var(--fpb-orange) !important;
    text-decoration: underline !important;
}

body .footer-widgets h2,
body .footer-widgets h3,
body .footer-widgets h4,
body .footer-widgets .wp-block-heading,
body .footer-widgets .widget-title {
    color: #ffffff !important;
    border-bottom: 2px solid var(--fpb-orange) !important;
    padding-bottom: 0.3rem !important;
    margin-bottom: 0.6rem !important;
}

body .footer-widgets ul li,
body .footer-widgets .wp-block-list li,
body .footer-widgets ul li:last-child {
    border-bottom: 0 !important;
    border-top: 0 !important;
    padding-bottom: 0.15rem !important;
    margin-bottom: 0.15rem !important;
    list-style: none !important;
}

body .footer-widgets ul,
body .footer-widgets .wp-block-list {
    padding-left: 0 !important;
    margin-left: 0 !important;
    list-style: none !important;
}

body .footer-widgets .wp-block-social-links {
    border: 0 !important;
    padding-top: 0.4rem !important;
    gap: 0.5rem !important;
}

body .footer-widgets .wp-block-social-links li {
    padding: 0 !important;
    margin: 0 !important;
}

.home .wp-block-post .wp-block-group.has-background:not(.alignfull),
body.page-fpb-home .wp-block-post .wp-block-group.has-background:not(.alignfull),
.home .wp-block-group.has-background[style*="background-color:#ffffff"]:not(.alignfull),
body.page-fpb-home .wp-block-group.has-background[style*="background-color:#ffffff"]:not(.alignfull),
.home .wp-block-query .wp-block-post-template.is-layout-grid .wp-block-group.has-background,
body.page-fpb-home .wp-block-query .wp-block-post-template.is-layout-grid .wp-block-group.has-background,
.home .wp-block-column .wp-block-query .wp-block-post > .wp-block-group.has-background,
body.page-fpb-home .wp-block-column .wp-block-query .wp-block-post > .wp-block-group.has-background,
.home .wp-block-column .wp-block-query .wp-block-post:first-child > .wp-block-group.has-background,
body.page-fpb-home .wp-block-column .wp-block-query .wp-block-post:first-child > .wp-block-group.has-background {
    padding: 0 !important;
    padding-top: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
}

.home .wp-block-post .wp-block-group.has-background > .wp-block-group__inner-container,
body.page-fpb-home .wp-block-post .wp-block-group.has-background > .wp-block-group__inner-container,
.home .wp-block-group.has-background[style*="background-color:#ffffff"] > .wp-block-group__inner-container,
body.page-fpb-home .wp-block-group.has-background[style*="background-color:#ffffff"] > .wp-block-group__inner-container {
    padding: 15px !important;
}

.home .wp-block-query .wp-block-post-template.is-layout-grid .wp-block-group.has-background > .wp-block-group__inner-container,
body.page-fpb-home .wp-block-query .wp-block-post-template.is-layout-grid .wp-block-group.has-background > .wp-block-group__inner-container {
    padding: 15px !important;
}

.fpb-related-card {
    padding: 15px !important;
}

/* -- Card redesign: full-bleed image, tinted sections, sidebar + category-row cards, related cards --- */
.home .wp-block-group.alignfull.has-background[style*="background-color:#f8f9fa"],
body.page-fpb-home .wp-block-group.alignfull.has-background[style*="background-color:#f8f9fa"],
.home .wp-block-group.alignfull[style*="f8f9fa"],
body.page-fpb-home .wp-block-group.alignfull[style*="f8f9fa"] {
    background-color: #eef1f5 !important;
}

.home .wp-block-post .wp-block-group.has-background,
body.page-fpb-home .wp-block-post .wp-block-group.has-background,
.home .wp-block-query .wp-block-post-template.is-layout-grid .wp-block-group.has-background,
body.page-fpb-home .wp-block-query .wp-block-post-template.is-layout-grid .wp-block-group.has-background {
    overflow: hidden !important;
    border: 1px solid #e5e2dd !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 3px rgba(20, 24, 35, 0.06), 0 6px 16px rgba(20, 24, 35, 0.05) !important;
    background-color: #ffffff !important;
    padding: 0 !important;
    transition: box-shadow 0.18s ease, transform 0.18s ease;
}

.home .wp-block-post .wp-block-group.has-background:hover,
body.page-fpb-home .wp-block-post .wp-block-group.has-background:hover {
    box-shadow: 0 4px 10px rgba(20, 24, 35, 0.10), 0 12px 28px rgba(20, 24, 35, 0.08) !important;
    transform: translateY(-2px);
}

.home .wp-block-post .wp-block-group.has-background > .wp-block-group__inner-container,
body.page-fpb-home .wp-block-post .wp-block-group.has-background > .wp-block-group__inner-container,
.home .wp-block-query .wp-block-post-template.is-layout-grid .wp-block-group.has-background > .wp-block-group__inner-container,
body.page-fpb-home .wp-block-query .wp-block-post-template.is-layout-grid .wp-block-group.has-background > .wp-block-group__inner-container {
    padding: 20px !important;
}

.home .wp-block-post .wp-block-group.has-background .wp-block-post-featured-image,
body.page-fpb-home .wp-block-post .wp-block-group.has-background .wp-block-post-featured-image {
    margin: -20px -20px 14px -20px !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    line-height: 0 !important;
}

.home .wp-block-post .wp-block-group.has-background .wp-block-post-featured-image img,
body.page-fpb-home .wp-block-post .wp-block-group.has-background .wp-block-post-featured-image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    border-radius: 0 !important;
    object-fit: cover !important;
}

.home .wp-block-column .wp-block-group.has-background[style*="background-color:#ffffff"]:not(.alignfull),
body.page-fpb-home .wp-block-column .wp-block-group.has-background[style*="background-color:#ffffff"]:not(.alignfull) {
    border: 1px solid #e5e2dd !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 3px rgba(20, 24, 35, 0.06), 0 6px 16px rgba(20, 24, 35, 0.05) !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.home .wp-block-column .wp-block-group.has-background[style*="background-color:#ffffff"]:not(.alignfull) > .wp-block-group__inner-container,
body.page-fpb-home .wp-block-column .wp-block-group.has-background[style*="background-color:#ffffff"]:not(.alignfull) > .wp-block-group__inner-container {
    padding: 20px !important;
}

.home .wp-block-column .wp-block-query .wp-block-post .wp-block-group:not(.has-background) > .wp-block-group__inner-container,
body.page-fpb-home .wp-block-column .wp-block-query .wp-block-post .wp-block-group:not(.has-background) > .wp-block-group__inner-container {
    padding: 0 !important;
}

.home .wp-block-column .wp-block-query .wp-block-post > .wp-block-group:not(.has-background),
body.page-fpb-home .wp-block-column .wp-block-query .wp-block-post > .wp-block-group:not(.has-background) {
    padding: 0.55rem 0 !important;
}

.home .wp-block-column .wp-block-query .wp-block-post .wp-block-group:not(.has-background) .wp-block-post-featured-image,
body.page-fpb-home .wp-block-column .wp-block-query .wp-block-post .wp-block-group:not(.has-background) .wp-block-post-featured-image {
    margin: 0 0 0.5rem 0 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
}

.home .wp-block-post .wp-block-group.has-background .wp-block-post-title,
body.page-fpb-home .wp-block-post .wp-block-group.has-background .wp-block-post-title {
    margin: 0 0 0.4rem 0 !important;
    line-height: 1.25 !important;
}

.home .wp-block-post .wp-block-group.has-background .wp-block-post-excerpt,
body.page-fpb-home .wp-block-post .wp-block-group.has-background .wp-block-post-excerpt {
    margin: 0 0 0.5rem 0 !important;
}

.home .wp-block-post .wp-block-group.has-background .wp-block-post-date,
body.page-fpb-home .wp-block-post .wp-block-group.has-background .wp-block-post-date {
    margin: 0 !important;
}

.fpb-related-card {
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #e5e2dd !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 3px rgba(20, 24, 35, 0.06), 0 6px 16px rgba(20, 24, 35, 0.05) !important;
    background: #ffffff !important;
    transition: box-shadow 0.18s ease, transform 0.18s ease;
}

.fpb-related-card:hover {
    box-shadow: 0 4px 10px rgba(20, 24, 35, 0.10), 0 12px 28px rgba(20, 24, 35, 0.08) !important;
    transform: translateY(-2px);
}

.fpb-related-card .fpb-related-img {
    margin: 0 !important;
    line-height: 0 !important;
}

.fpb-related-card .fpb-related-img img,
.fpb-related-card .fpb-related-thumb {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    border-radius: 0 !important;
    object-fit: cover !important;
    aspect-ratio: 16 / 9 !important;
}

.fpb-related-card .fpb-related-meta {
    padding: 18px 20px !important;
}

.fpb-related-card .fpb-related-title {
    margin: 0 0 0.35rem 0 !important;
    line-height: 1.25 !important;
}

.fpb-related-card .fpb-related-date {
    margin: 0 !important;
}

/* ==========================================================================
   v28 ADDITIONS - appended verbatim; these are NEW rules and MUST come last
   so they win the cascade. (Source: _v28-additions.css)
   ========================================================================== */

/* ==========================================================================
   v28 — homepage redesign + site-wide card unification
   (1-large/2-small hero, category eyebrow, Report CTA, Latest Recalls,
   editor note, and archive/search card grid)
   ========================================================================== */

/* -- Editor-only note: visible in the block editor, hidden on the live site -- */
.fpb-editor-note { display: none !important; }

/* -- Prevent tiny horizontal scroll on mobile. The full-bleed alignfull bands
      use width:100vw, which includes the scrollbar gutter and overflows the
      content viewport by a few px on phones. Clip it at the root. No sticky
      elements are in use, so overflow-x:hidden is safe here. -- */
html, body { overflow-x: hidden !important; max-width: 100% !important; }

/* -- Hero cluster: 1 large (left) + 2 small (right) ----------------------- */
/* v29: FORCE the hero band to break out to full width exactly like
   .fpb-latestnews-band (an overlay rule was blocking the native alignfull, so
   the band stayed narrow and the featured section was inset vs the cards). With
   the band full-width + the columns constrained to 1200px, the featured edges
   line up with the cards/nav. */
/* vertical-only margin reset; horizontal margin is left to the native alignfull
   breakout so the band goes full width and its 1200px-constrained columns line
   up with the cards below (see the :has(.wp-block-cover) note above). */
.fpb-hero-band { margin-top: 0 !important; margin-bottom: 0 !important; padding: 0 !important; }
.fpb-hero-columns { gap: 0.75rem !important; align-items: stretch !important; margin-bottom: 0 !important; }
.fpb-hero-columns > .wp-block-column { margin: 0 !important; min-width: 0 !important; }
/* The white background is what makes WP wrap the hero in an inner-container
   (so its columns pin to 1200px and line up with the cards). But that same
   white bg matches a generic white-CARD rule that injects 15px inner padding +
   1rem band padding + a bottom margin — which would shrink the columns ~24px
   narrower than the cards and add stray space. Re-pin to exactly what the hero
   needs, at (0,6,0) specificity so it beats that white-card rule's
   `[style*="…#ffffff"]` selector: 0.2rem inner padding (== Latest-News inner
   padding → columns land at 196–1389, dead-even with the cards) and a flush,
   margin-free band (the covers fill it; the white band is invisible). */
.home .entry-content .fpb-hero-band.has-background[style*="background-color:#ffffff"] > .wp-block-group__inner-container,
body.page-fpb-home .entry-content .fpb-hero-band.has-background[style*="background-color:#ffffff"] > .wp-block-group__inner-container {
  padding: 0.2rem !important;
}
.home .entry-content .fpb-hero-band.has-background[style*="background-color:#ffffff"],
body.page-fpb-home .entry-content .fpb-hero-band.has-background[style*="background-color:#ffffff"] {
  /* v30: 50px of whitespace ABOVE and BELOW the featured covers (measured to the
     menu bar above and the Latest News band below). padding-top 32 + the 15px
     content-gap + 3px inner padding ≈ 50px above; padding-bottom 47 + 3px inner
     ≈ 50px below (the hero columns' own bottom margin is zeroed). Also kills the
     1px top border the white-card rule adds (one of the two stray lines under
     the menu bar). */
  padding-top: 32px !important;
  padding-bottom: 47px !important;
  margin-bottom: 0 !important;
  border: 0 !important;
}
.fpb-hero-main,
.fpb-hero-main .wp-block-query,
.fpb-hero-main .wp-block-post-template,
.fpb-hero-main .wp-block-post-template > li { height: 100% !important; margin: 0 !important; }
.fpb-hero-main .wp-block-post-template { list-style: none !important; padding: 0 !important; }
/* the side column's post-template stacks its 2 covers and fills the height */
.fpb-hero-side .wp-block-post-template {
  display: flex !important; flex-direction: column !important; gap: 0.75rem !important;
  height: 100% !important; margin: 0 !important; padding: 0 !important; list-style: none !important;
}
.fpb-hero-side .wp-block-post-template > li { flex: 1 1 0 !important; margin: 0 !important; display: flex !important; }
.fpb-hero-side .fpb-hero-cover-sm { width: 100% !important; }
.fpb-hero-cover { border-radius: 0 !important; }
.fpb-hero-cover .wp-block-post-title a,
.fpb-hero-cover .wp-block-post-title a:hover { text-decoration: none !important; }
.fpb-hero-eyebrow, .fpb-hero-eyebrow a { color: #ffffff !important; text-decoration: none !important; opacity: 0.95; }

@media (max-width: 768px) {
  .fpb-hero-columns { display: flex !important; flex-direction: column !important; }
  .fpb-hero-main, .fpb-hero-side { flex-basis: 100% !important; width: 100% !important; }
  .fpb-hero-side .fpb-hero-cover-sm { min-height: 170px !important; }
}

/* -- Category "eyebrow" label on news cards (core/post-terms) -------------- */
.fpb-eyebrow,
.wp-block-post-terms.fpb-eyebrow {
  font-size: 0.7rem !important; font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.06em !important; line-height: 1.2 !important; margin: 0 0 0.25rem 0 !important;
}
.fpb-eyebrow a { color: #00ABBC !important; text-decoration: none !important; }
.fpb-eyebrow a:hover { text-decoration: underline !important; }

/* -- Report-an-Illness CTA card ------------------------------------------- */
.fpb-report-cta { box-shadow: 0 2px 6px rgba(0,0,0,0.12) !important; }
.fpb-report-cta h3, .fpb-report-cta p { color: #ffffff !important; }
.fpb-report-cta .wp-block-button__link {
  display: inline-block !important;
  transition: transform .12s ease, box-shadow .12s ease;
}
.fpb-report-cta .wp-block-button__link:hover { transform: translateY(-1px); box-shadow: 0 3px 8px rgba(0,0,0,0.18) !important; }

/* -- Latest Recalls module ------------------------------------------------- */
.fpb-recalls-card .fpb-recall-item:last-child { border-bottom: none !important; padding-bottom: 0 !important; }
.fpb-recalls-card .wp-block-post-title a { text-decoration: none !important; }
.fpb-recalls-card .wp-block-post-title a:hover { text-decoration: underline !important; }

/* -- Archive + Search: reuse the homepage card grid ----------------------- */
/* GP renders each result as <article> directly inside .site-main. Lay them
   out as a 2-up card grid; the page header + pagination span full width. */
.archive .site-main,
.search-results .site-main,
.blog .site-main {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
  align-items: start !important;
}
.archive .site-main > *:not(article),
.search-results .site-main > *:not(article),
.blog .site-main > *:not(article) { grid-column: 1 / -1 !important; }
.archive .site-main > article,
.search-results .site-main > article,
.blog .site-main > article {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  margin: 0 !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
  transition: transform .12s ease, box-shadow .12s ease;
  display: flex !important;
  flex-direction: column !important;
}
.archive .site-main > article:hover,
.search-results .site-main > article:hover,
.blog .site-main > article:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.10) !important; }
/* featured image bleeds to the card's top edge */
.archive .site-main > article .post-image,
.search-results .site-main > article .post-image,
.blog .site-main > article .post-image { margin: 0 !important; }
.archive .site-main > article .post-image img,
.search-results .site-main > article .post-image img,
.blog .site-main > article .post-image img {
  width: 100% !important; aspect-ratio: 16 / 9 !important; object-fit: cover !important;
  display: block !important; border-radius: 0 !important;
}
.archive .site-main > article .inside-article,
.search-results .site-main > article .inside-article,
.blog .site-main > article .inside-article {
  padding: 1rem !important; display: flex !important; flex-direction: column !important; flex: 1 1 auto !important;
}
.archive .site-main > article .entry-header,
.search-results .site-main > article .entry-header,
.blog .site-main > article .entry-header { margin-bottom: 0.4rem !important; }
.archive .site-main > article .entry-title,
.search-results .site-main > article .entry-title,
.blog .site-main > article .entry-title { font-size: 1.05rem !important; line-height: 1.3 !important; margin: 0 0 0.3rem 0 !important; }
.archive .site-main > article .entry-summary,
.search-results .site-main > article .entry-summary,
.blog .site-main > article .entry-summary { font-size: 0.875rem !important; line-height: 1.5 !important; margin: 0 0 0.5rem 0 !important; }
.archive .site-main > article .entry-meta,
.search-results .site-main > article .entry-meta,
.blog .site-main > article .entry-meta { font-size: 0.75rem !important; }
/* single column on narrow screens */
@media (max-width: 768px) {
  .archive .site-main,
  .search-results .site-main,
  .blog .site-main { grid-template-columns: 1fr !important; }
}

/* ==========================================================================
   v29 — refinements: nav orange, hero equal-height, CTA alignment, social
   spacing, uniform news cards, hero fallback, attorney ad
   ========================================================================== */

/* (1) Top menu bar = the CTA orange (#E8602D). Re-scope the nav's orange var
   so the whole bar + its controls match, without recoloring other accents. */
.main-navigation { --fpb-orange-ink: #E8602D; }

/* (6) Hero no-results fallback (replaces the old gradient cover; rarely shown) */
.fpb-hero-fallback {
  min-height: 440px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #E90F35 0%, #00ABBC 100%);
  text-align: center;
}
.fpb-hero-fallback .wp-block-heading { color: #ffffff !important; font-size: 2.25rem; margin: 0; padding: 1.5rem; }

/* (2) Hero: the big left cover spans the exact height of the two stacked right
   covers. Deterministic fixed heights avoid a flex feedback loop: each side
   cover is 220px and they stack with a 12px gap (220 + 12 + 220 = 452), so the
   big cover is 452px — tops and bottoms line up. */
.fpb-hero-main .fpb-hero-cover { min-height: 0 !important; height: 452px !important; }
.fpb-hero-side .wp-block-post-template {
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
.fpb-hero-side .wp-block-post-template > li { flex: 0 0 auto !important; height: auto !important; margin: 0 !important; }
.fpb-hero-side .fpb-hero-cover-sm { min-height: 0 !important; height: 220px !important; }
@media (max-width: 768px) {
  /* stacked on mobile — let the covers breathe a little shorter */
  .fpb-hero-main .fpb-hero-cover { height: 300px !important; }
  .fpb-hero-side .fpb-hero-cover-sm { height: 190px !important; }
}

/* (3) v29: sidebar top aligned with the TOP of the Latest News cards (not the
   underline). The first news card sits 14px below the sidebar column's own top
   (section header + gap), so offset the sidebar by 14px to line them up.
   Desktop only (columns stack on mobile). */
@media (min-width: 769px) {
  .fpb-latestnews-band .wp-block-columns > .wp-block-column:last-child { padding-top: 14px; }
}

/* (4) Subscribe card — halve the whitespace above & below the X / Facebook
   icons (v29: 30px → 15px each). */
.fpb-latestnews-band .wp-block-social-links,
.widget-area .wp-block-social-links,
.widget_block .wp-block-social-links,
.fpb-latestnews-band .fpb-subscribe-form + .wp-block-social-links,
.wp-block-group .fpb-subscribe-form + .wp-block-social-links,
.widget-area .fpb-subscribe-form + .wp-block-social-links,
.widget_block .fpb-subscribe-form + .wp-block-social-links {
  margin-top: 15px !important;
  margin-bottom: 4px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* (5) Latest News — uniform card height. Variation came only from 1- vs 2-line
   titles; clamp title to 2 lines and excerpt to 4, give every card the same
   min-height (fits a 2-line title + 4-line excerpt, no clipping), and pin the
   date to the bottom so shorter cards still line up. Scoped to the LEFT column
   so sidebar cards are untouched. */
.fpb-latestnews-band .wp-block-columns > .wp-block-column:first-child .wp-block-post-template > li { height: 100%; }
.fpb-latestnews-band .wp-block-columns > .wp-block-column:first-child .wp-block-post-template > li > .wp-block-group {
  /* v31: 429 (was 455). The card content is ~403px, so 455 left ~52px of empty
     space below the date; 429 halves that to ~25px and shortens the whole left
     column, tightening the spacing between the news blocks. */
  min-height: 429px;
  display: flex !important;
  flex-direction: column;
}
.fpb-latestnews-band .wp-block-columns > .wp-block-column:first-child .wp-block-post-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.fpb-latestnews-band .wp-block-columns > .wp-block-column:first-child .wp-block-post-excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.fpb-latestnews-band .wp-block-columns > .wp-block-column:first-child .wp-block-post-date { margin-top: auto !important; }

/* (9) v29: Pritzker Hageman attorney ad — full-bleed photo on a SOLID dark-blue
   card (no white). Image bleeds to the top/left/right edges; the body below is
   dark blue with the SAME 1.5rem padding as the other sidebar cards; the button
   is white over the blue. */
.fpb-attorney-ad {
  margin-top: 1.5rem !important;
  border: 0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #15396b !important;
  padding: 0 !important;
}
/* high specificity (.home + … = 0,4,0) to beat GP's `.entry-content
   figure.wp-block-image` width cap so the photo bleeds edge-to-edge */
.home .fpb-attorney-ad figure.wp-block-image.fpb-attorney-photo,
.home .fpb-attorney-ad .wp-block-group__inner-container .fpb-attorney-photo,
body.page-fpb-home .fpb-attorney-ad figure.wp-block-image.fpb-attorney-photo,
.fpb-attorney-ad figure.wp-block-image.fpb-attorney-photo {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  text-align: center !important;
}
.home .fpb-attorney-ad figure.wp-block-image.fpb-attorney-photo > img,
.home .fpb-attorney-ad .wp-block-group__inner-container .fpb-attorney-photo > img,
body.page-fpb-home .fpb-attorney-ad figure.wp-block-image.fpb-attorney-photo > img,
.fpb-attorney-ad figure.wp-block-image.fpb-attorney-photo > img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: 0 !important;
  aspect-ratio: 3 / 2 !important;
  object-fit: cover !important;
  object-position: top center !important;
}
/* The card and the body are flow GROUPS, so their real padding lives on the
   nested .wp-block-group__inner-container — NOT on .fpb-attorney-ad /
   .fpb-attorney-body themselves. Zero the OUTER (card) inner-container so the
   photo bleeds to all three edges, and give the BODY inner-container the same
   ~20px inset as every other sidebar card. (Padding set on the outer divs was
   being ignored — the 40px GP container padding sat one level deeper.) */
.fpb-attorney-ad > .wp-block-group__inner-container { padding: 0 !important; }
.fpb-attorney-ad .fpb-attorney-body { padding: 0 !important; background: transparent !important; }
.fpb-attorney-ad .fpb-attorney-body > .wp-block-group__inner-container { padding: 1.25rem !important; }
.fpb-attorney-ad .fpb-attorney-name { font-weight: 700; color: #ffffff !important; font-size: 0.95rem; margin: 0 0 0.45rem !important; }
.fpb-attorney-ad .fpb-attorney-body p { margin: 0 0 1rem !important; font-size: 0.9rem; line-height: 1.5; color: #ffffff !important; }
/* disclaimer is the LAST line — kill its bottom margin (more specific than the
   `.fpb-attorney-body p` rule above) so the gap below it equals the 20px inset. */
.fpb-attorney-ad .fpb-attorney-body p.fpb-attorney-disclaimer { margin-bottom: 0 !important; }
.fpb-attorney-ad .wp-block-buttons { margin: 0 0 0.25rem !important; }
.fpb-attorney-ad .wp-block-button { margin: 0 !important; }
.fpb-attorney-ad .wp-block-button__link,
.fpb-attorney-ad .fpb-attorney-cta {
  display: inline-block; background: #ffffff !important; color: #15396b !important;
  border-radius: 4px; font-weight: 700; font-size: 0.85rem; padding: 0.55rem 1.2rem; text-decoration: none;
}
.fpb-attorney-ad .wp-block-button__link:hover,
.fpb-attorney-ad .fpb-attorney-cta:hover { background: #e8eef6 !important; color: #15396b !important; }
.fpb-attorney-ad .fpb-attorney-disclaimer { font-size: 0.72rem !important; color: #cdd6e4 !important; font-style: italic; margin: 0.9rem 0 0 !important; }

/* (2) Hero main excerpt — full white (belt-and-suspenders; also set in markup). */
.fpb-hero-main .wp-block-post-excerpt,
.fpb-hero-main .wp-block-post-excerpt p { color: #ffffff !important; }

/* (10) v30: About card — Linda Larsen headshot floated left (bio wraps right,
   like the original site) + tightened spacing around "Read more about us":
   the LAST line's bottom margin is zeroed so the whitespace BELOW it equals the
   whitespace ABOVE the "About Us" title (both = the card's 20px inner padding),
   per the measured-whitespace request. The non-last paragraphs get a small
   bottom margin so the gap ABOVE "Read more" is reduced too. Same last-line
   treatment is applied to the Our-Sponsor card. */
.fpb-about-card .fpb-about-photo {
  float: left !important;
  /* v31: 80px (source is only 87px, so 80 renders crisp — no upscale) and its
     bottom sits ~one line closer to the wrapped text, halving the actual BELOW
     whitespace. margin-right 3px hugs the wrapping text tight to the photo (was
     14px → 7px → now 3px per the "wrap closer" request); margin-bottom 0 (the
     below gap is line-flow, not margin — the smaller height is what tightens it). */
  width: 80px !important;
  margin: 0.15rem 3px 0 0 !important;
}
.fpb-about-card .fpb-about-photo img {
  width: 80px !important;
  height: auto !important;
  display: block;
  border-radius: 6px;
}
.fpb-about-card .wp-block-group__inner-container > p { margin-bottom: 0.6rem !important; }
.fpb-about-card .wp-block-group__inner-container > p:last-child { clear: both; margin-bottom: 0 !important; }
.fpb-sponsor-card .wp-block-group__inner-container > p:last-child { margin-bottom: 0 !important; }

/* (11) v30: header / featured polish.
   (a) Menu bar edges match the featured columns. The orange nav is a grid item
   in .inside-header (width:100% of the 1200px content box), so it can't be
   shrunk directly; instead inset the WHOLE .inside-header by 0.2rem each side —
   the same 0.2rem the hero/cards columns are inset — so the orange bar AND the
   logo line up at 196–1389 with the hero. */
.home .site-header .inside-header,
body.page-fpb-home .site-header .inside-header {
  padding-left: 0.2rem !important;
  padding-right: 0.2rem !important;
  box-sizing: border-box !important;
}
/* (b) Kill the two thin lines under the menu bar: the .site-header bottom border
   (line 1) and the hero band's top border (line 2 — removed above via the band
   rule's `border:0`). */
.home .site-header,
body.page-fpb-home .site-header { border-bottom: 0 !important; }
/* (c) Big featured cover: force the background image to fill the whole fixed-
   height cover so there's no grey strip at the bottom when the image is shorter. */
.fpb-hero-main .wp-block-cover img.wp-block-cover__image-background {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
}
/* (d) v32: Right-hand stack — fixed 30px gaps, top aligned to the Latest News
   cards (NO bottom-align). The earlier space-between distributed the cards over
   the full column height (~49px gaps) AND pushed the first card (About) 24px
   ABOVE the Latest News cards because the sidebar has no "Latest News" heading
   above it. Now: flex-start + gap:30px gives exactly 30px between every card,
   and padding-top:38px (= the height of the left column's "Latest News" heading
   + its margin) drops the About card so its top border lines up with the first
   Latest News card. The hidden Report-CTA (display:none) is ignored by flex gap. */
.fpb-latestnews-band .wp-block-columns > .wp-block-column:last-child {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 30px !important;
  padding-top: 38px !important;
}
.fpb-latestnews-band .wp-block-columns > .wp-block-column:last-child > .wp-block-group {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* (12) v31: Browse by Topic — more breathing room. Each of the 3 columns is a
   CATEGORY (teal-underlined header) followed by a query loop of article CARDS;
   the cards are separated by a thin GREY 1px line (rgb(229,231,235)) that is the
   border-bottom of each card's inner .wp-block-group, with equal 8.8px padding
   above/below it (so it's already centered).
   (a) +16px between the 3 columns (0.9rem/14.4px → 30px).
   (b) +16px between the article cards, KEEPING the grey line centered: bump the
   card inner-group's top+bottom padding 8.8px → 17px (so the gap goes 19→35px
   and the line stays equidistant). That padding is pinned by a generic (0,5,0)
   `.home .wp-block-column .wp-block-query .wp-block-post > .wp-block-group` rule,
   so the override adds `.fpb-browse-band` to reach (0,6,0) and win — and matches
   plain `.wp-block-post` (not :first-child) so it overrides every card. The teal
   header keeps its original tight spacing (no change). */
.home .fpb-browse-band .wp-block-columns,
body.page-fpb-home .fpb-browse-band .wp-block-columns {
  gap: 30px !important;
  column-gap: 30px !important;
}
.home .fpb-browse-band .wp-block-column .wp-block-query .wp-block-post > .wp-block-group,
body.page-fpb-home .fpb-browse-band .wp-block-column .wp-block-query .wp-block-post > .wp-block-group {
  padding-top: 17px !important;
  padding-bottom: 17px !important;
}

/* ============================================================================
   (13) v32: non-home pages — header/breadcrumb alignment, photo wrap, and
   sidebar cards that match the homepage. All measured live @1600px.
   ========================================================================== */

/* (a) #58 — Archive header (Food Safety / Recalls / Outbreaks / News).
   The category TITLE + its teal underline were indented 40px more than the
   content cards because `.page-header` carries a 40px left padding. Zero it so
   the H1 and its border-bottom line up flush-left with the card grid (L213). */
.archive .page-header,
.search .page-header {
  padding-left: 0 !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.archive .page-header h1,
.search .page-header h1 {
  margin-top: 0 !important;
}

/* (b) #58 — Archive breadcrumbs. On archives `.site-main` is a CSS grid (the
   card grid), and the injected `.fpb-breadcrumbs` div inherited the grid's
   centering (it shrink-wrapped + centered at ~L550). Make it span all columns
   and align to the start so it sits flush-left like on About/Contact. SCOPED to
   .archive/.search so the (correct) breadcrumb treatment on real pages is
   untouched. Margins zeroed so the whitespace above (nav→crumbs ~21px) and below
   (crumbs→title ~23px) matches About exactly — the inherent grid padding already
   supplies those gaps. */
.archive .site-content,
.search .site-content {
  padding-top: 0 !important;
}
.archive .fpb-breadcrumbs,
.search .fpb-breadcrumbs {
  grid-column: 1 / -1 !important;
  justify-self: start !important;
  width: 100% !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* (c) #56 — Floated content photos (e.g. the Linda Larsen / Carla Gillespie
   author headshots on About). They are `img.alignleft` with margin-right:0, so
   the wrapped body text butted right up against them. Give a comfortable wrap
   gap. NOT applied on the homepage (the About-card headshot there uses
   `.fpb-about-photo` with its own deliberate 3px gap — see homepage builder). */
body:not(.home):not(.page-fpb-home) .entry-content img.alignleft {
  margin-right: 18px !important;
  margin-bottom: 6px !important;
}
body:not(.home):not(.page-fpb-home) .entry-content img.alignright {
  margin-left: 18px !important;
  margin-bottom: 6px !important;
}

/* (d) #55 — Non-home sidebar cards match the homepage cards. The widget cards are
   built (in the migrator) with the same white bg + 1px border + 8px radius + teal
   uppercase heading, but THREE things diverged from the homepage cards and made
   them read as flat "before" boxes:
     (i)   the GLOBAL `.widget-area .widget_block > .wp-block-group` rule (~line
           1823) gives them a FLAT `0 0 0 1px` ring shadow, whereas the homepage
           cards get a SOFT `0 6px 16px` DROP shadow from a later .home-scoped rule
           (~line 2921) — so the non-home cards looked un-elevated (the main miss);
     (ii)  the global ultra-tight-padding rules (~2477-2480) crushed their inner
           padding to ~3px (vs the homepage's ~21px inset);
     (iii) the border tint (cool #e8eaee vs warm #e5e2dd) and heading size
           (0.95rem vs 1rem) were slightly off.
   Fix all of it here. Specificity is (0,4,0), which beats the (0,3,0) flat-shadow
   rule, and this block is later in the file. Covers the Outbreaks + Latest News
   widgets too (same card shell as Latest Recalls). */
.page:not(.home):not(.page-fpb-home) .widget-area .widget_block > .wp-block-group,
.page:not(.home):not(.page-fpb-home) .widget-area .widget_block > div > .wp-block-group,
.single .widget-area .widget_block > .wp-block-group,
.single .widget-area .widget_block > div > .wp-block-group,
.archive .widget-area .widget_block > .wp-block-group,
.archive .widget-area .widget_block > div > .wp-block-group,
.search .widget-area .widget_block > .wp-block-group,
.search .widget-area .widget_block > div > .wp-block-group {
  padding: 1.1rem 1.15rem !important;
  border-color: #e5e2dd !important;
  box-shadow: 0 1px 3px rgba(20, 24, 35, 0.06), 0 6px 16px rgba(20, 24, 35, 0.05) !important;
}
/* (d.2) #55 — match the homepage card heading exactly (16px / 0.8px tracking;
   the migrator emits 0.95rem / 0.76px). */
.page:not(.home):not(.page-fpb-home) .widget-area .widget_block .wp-block-heading,
.single .widget-area .widget_block .wp-block-heading,
.archive .widget-area .widget_block .wp-block-heading,
.search .widget-area .widget_block .wp-block-heading {
  font-size: 1rem !important;
  letter-spacing: 0.8px !important;
}

/* (e) #60 — single-post featured (page-header) image hidden by default. The PHP
   filter `maybe_hide_single_featured` already strips the markup on single posts
   that haven't opted in; this is a visual belt-and-suspenders guard. Posts that
   DO opt in (per-post "Featured Image" meta box) get the `fpb-show-featured` body
   class, which reveals it again. Archives / homepage / pages are unaffected. */
.single-post .featured-image.page-header-image-single,
.single-post .page-header-image-single {
  display: none !important;
}
body.fpb-show-featured .featured-image.page-header-image-single,
body.fpb-show-featured .page-header-image-single {
  display: block !important;
}

/* (f) #54 (homepage) — the thin grey hairline still showing JUST BELOW the menu
   on the homepage was NOT a border: it's the white-card box-shadow rule
   (~line 1823, the `0 0 0 1px` ring) applying to the HERO BAND, which is a white-
   background `.wp-block-group`. A full-width band is not a card and must not carry
   a card shadow — its top-edge ring reads as a line under the menu (and its
   bottom edge as a line above Latest News). Kill the shadow on all full-width
   (alignfull) bands on the homepage. */
.home .entry-content .wp-block-group.alignfull,
body.page-fpb-home .entry-content .wp-block-group.alignfull,
.home .fpb-hero-band,
body.page-fpb-home .fpb-hero-band {
  box-shadow: none !important;
}

/* (g) #55 — the attorney ad + (hidden) report CTA are NOT plain white cards, so
   exclude them from the (d) card rule above. That rule was adding ~18px padding
   (insetting the ad's full-bleed photo), a card border, and a card shadow that
   the HOMEPAGE ad does not have (the homepage ad isn't a white-bg group, so no
   shadow rule matches it). Restore full-bleed + no border/shadow so the non-home
   ad matches the homepage ad. (.fpb-attorney-ad/-photo/-body styling itself is
   already unscoped, so once the card rule stops fighting it, it renders the same.) */
.page:not(.home):not(.page-fpb-home) .widget-area .widget_block > .wp-block-group.fpb-attorney-ad,
.single .widget-area .widget_block > .wp-block-group.fpb-attorney-ad,
.archive .widget-area .widget_block > .wp-block-group.fpb-attorney-ad,
.search .widget-area .widget_block > .wp-block-group.fpb-attorney-ad {
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}
/* (g.2) and zero the ad's OUTER inner-container too — the generic
   `.widget-area .widget_block .wp-block-group__inner-container{padding:0.2rem}`
   rule (specificity 0,3,0) was out-ranking the existing `.fpb-attorney-ad >
   .wp-block-group__inner-container{padding:0}` (0,2,0) and leaving a 3.2px blue
   inset around the photo. This (0,4,0) selector wins → the photo is truly
   full-bleed. The BODY group keeps its own 1.25rem inner padding (deeper
   selector), so the text inset is unchanged. */
.widget-area .widget_block .fpb-attorney-ad > .wp-block-group__inner-container {
  padding: 0 !important;
}

/* v37: typo-tolerant search — "showing results for…/did you mean…" notice.
   grid-column:1/-1 makes it span the full width of the archive/search card
   grid (same technique as the breadcrumbs); harmless in non-grid contexts. */
.fpb-search-correction {
  grid-column: 1 / -1;
  width: 100%;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #e5e2dd;
  border-left: 4px solid #00ABBC;
  border-radius: 6px;
  padding: 0.7rem 1rem;
  margin: 0 0 1.1rem;
  font-size: 1rem;
  line-height: 1.45;
  color: #333;
}
.fpb-search-correction strong { color: #111; }
.fpb-search-correction a { color: #c1121f; font-weight: 600; text-decoration: underline; }

/* v38: Google site-search fallback (shown when nothing is found on-site) */
.fpb-google-fallback {
  grid-column: 1 / -1;
  width: 100%;
  box-sizing: border-box;
  background: #f8f9fa;
  border: 1px solid #e5e2dd;
  border-radius: 8px;
  padding: 1rem 1.2rem;
  margin: 0 0 1.4rem;
}
.fpb-google-fallback .fpb-gf-lead { margin: 0 0 0.75rem; font-size: 1rem; color: #333; }
.fpb-gf-btn {
  display: inline-block;
  background: #00ABBC;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  padding: 0.6rem 1.1rem;
  border-radius: 6px;
}
.fpb-gf-btn:hover { background: #0090a0; color: #fff; }
