.unfp-newspaper {
    --unfp-ink: #161616;
    --unfp-paper: #fbf6e8;
    --unfp-muted: #5d5548;
    --unfp-rule: #252525;
    --unfp-link: var(--unfp-ink);
    --unfp-masthead-font-size: clamp(42px, 8vw, 92px);
    background: var(--unfp-paper);
    color: var(--unfp-ink);
    padding: clamp(18px, 3vw, 42px);
    border: 1px solid rgba(0,0,0,.25);
    box-shadow: 0 12px 35px rgba(0,0,0,.10);
    font-family: Georgia, 'Times New Roman', serif;
    line-height: 1.45;
}

.unfp-newspaper a {
    color: var(--unfp-link);
    text-decoration: none;
}

.unfp-newspaper a:hover,
.unfp-newspaper a:focus {
    text-decoration: underline;
}

.unfp-masthead {
    text-align: center;
    margin-bottom: 24px;
}

.unfp-masthead h1 {
    margin: 8px 0 4px;
    font-size: var(--unfp-masthead-font-size);
    line-height: .9;
    letter-spacing: -.05em;
    text-transform: uppercase;
    font-weight: 900;
}

.unfp-masthead p {
    margin: 0;
    font-size: clamp(14px, 2vw, 18px);
    color: var(--unfp-muted);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.unfp-date-line {
    display: inline-block;
    margin-top: 10px;
    padding: 3px 12px;
    border-top: 1px solid var(--unfp-rule);
    border-bottom: 1px solid var(--unfp-rule);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.unfp-rule {
    height: 1px;
    background: var(--unfp-rule);
    margin: 0 0 7px;
}

.unfp-rule-heavy {
    height: 5px;
    margin: 14px 0 0;
    border-top: 1px solid var(--unfp-rule);
    border-bottom: 1px solid var(--unfp-rule);
    background: transparent;
}

.unfp-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
    gap: 24px;
    padding-bottom: 24px;
    margin-bottom: 24px;
    border-bottom: 3px double var(--unfp-rule);
}

.unfp-hero-image img,
.unfp-card-image img,
.unfp-single-article-image img {
    width: 100%;
    height: auto;
    display: block;
    filter: grayscale(100%) contrast(1.05);
    border: 1px solid rgba(0,0,0,.45);
    background: #fff;
}

.unfp-kicker {
    display: inline-block;
    margin: 0 0 8px;
    padding: 2px 8px;
    border: 1px solid var(--unfp-rule);
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 700;
}

.unfp-hero h2 {
    margin: 0 0 8px;
    font-size: clamp(34px, 5vw, 62px);
    line-height: .95;
    letter-spacing: -.04em;
}

.unfp-meta {
    margin: 0 0 8px;
    color: var(--unfp-muted);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.unfp-story-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 26px;
    position: relative;
}

.unfp-story-grid.unfp-columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.unfp-story-grid.unfp-columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.unfp-story-grid.unfp-columns-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.unfp-card-featured-large {
    grid-column: 1 / -1;
}

.unfp-card-featured-large h3 {
    font-size: clamp(32px, 4vw, 52px);
}

/* Column divider lines removed in v1.7: layout stays as a grid, but the visual rules are hidden. */
.unfp-story-grid::before,
.unfp-story-grid::after {
    display: none !important;
    content: none !important;
}

.unfp-card {
    min-width: 0;
    margin: 0 0 24px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(0,0,0,.35);
}

.unfp-card-featured {
    grid-column: span 2;
}

.unfp-card-featured h3 {
    font-size: clamp(28px, 3vw, 38px);
}

.unfp-card h3 {
    margin: 10px 0 6px;
    font-size: clamp(22px, 2.2vw, 31px);
    line-height: 1;
    letter-spacing: -.03em;
}

.unfp-card p,
.unfp-hero p {
    font-size: 16px;
}

.unfp-empty {
    text-align: center;
    font-style: italic;
}

@media (max-width: 900px) {
    .unfp-hero {
        grid-template-columns: 1fr;
    }

    .unfp-story-grid,
    .unfp-story-grid.unfp-columns-2,
    .unfp-story-grid.unfp-columns-3,
    .unfp-story-grid.unfp-columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .unfp-card-featured {
        grid-column: span 1;
    }
}

@media (max-width: 640px) {
    .unfp-newspaper {
        padding: 18px;
    }

    .unfp-story-grid,
    .unfp-story-grid.unfp-columns-2,
    .unfp-story-grid.unfp-columns-3,
    .unfp-story-grid.unfp-columns-4 {
        grid-template-columns: 1fr;
    }

    .unfp-story-grid::before,
    .unfp-story-grid::after {
        display: none;
    }
}

/* All posts / past issues page */
.unfp-archive .unfp-masthead h1 {
    font-size: clamp(38px, 6vw, 72px);
}

.unfp-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.unfp-archive-card {
    min-width: 0;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(0,0,0,.35);
}

.unfp-archive-card h2 {
    margin: 10px 0 6px;
    font-size: clamp(21px, 2vw, 30px);
    line-height: 1;
    letter-spacing: -.03em;
}

.unfp-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 3px double var(--unfp-rule);
    font-family: Georgia, 'Times New Roman', serif;
}

.unfp-pagination .page-numbers {
    display: inline-block;
    padding: 7px 11px;
    border: 1px solid var(--unfp-rule);
    background: rgba(255,255,255,.35);
    text-decoration: none;
}

.unfp-pagination .page-numbers.current {
    background: var(--unfp-ink);
    color: var(--unfp-paper);
}

@media (max-width: 900px) {
    .unfp-archive-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .unfp-archive-grid {
        grid-template-columns: 1fr;
    }
}

/* Advertising page */
.unfp-ads-page .unfp-masthead h1 {
    font-size: clamp(38px, 6vw, 72px);
}

.unfp-section-title {
    margin: 26px 0 14px;
    padding: 6px 0;
    border-top: 3px double var(--unfp-rule);
    border-bottom: 1px solid var(--unfp-rule);
    font-size: clamp(24px, 3vw, 38px);
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.unfp-image-ad-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-bottom: 28px;
}

.unfp-image-ad {
    min-width: 0;
    padding: 10px;
    border: 2px solid var(--unfp-rule);
    background: rgba(255,255,255,.28);
    text-align: center;
}

.unfp-image-ad img {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid rgba(0,0,0,.35);
}

.unfp-image-ad h3 {
    margin: 10px 0 0;
    font-size: clamp(18px, 2vw, 25px);
    line-height: 1;
    text-transform: uppercase;
}

.unfp-classified-grid {
    column-count: 3;
    column-gap: 22px;
}

.unfp-classified-ad {
    break-inside: avoid;
    margin: 0 0 16px;
    padding: 10px;
    border: 1px solid var(--unfp-rule);
    background: rgba(255,255,255,.22);
}

.unfp-classified-ad h3 {
    margin: 0 0 6px;
    font-size: 18px;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.unfp-classified-ad p {
    margin: 0 0 8px;
    font-size: 15px;
}

.unfp-classified-link {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    border-bottom: 1px solid currentColor;
}

.unfp-ad-placeholder {
    padding: 24px;
    border: 2px dashed rgba(0,0,0,.35);
}

@media (max-width: 900px) {
    .unfp-classified-grid {
        column-count: 2;
    }
}

@media (max-width: 640px) {
    .unfp-image-ad-grid {
        grid-template-columns: 1fr;
    }

    .unfp-classified-grid {
        column-count: 1;
    }
}

/* Clean page template */
body.unfp-clean-page-template {
    margin: 0;
    background: #f7f1df;
}

.unfp-clean-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    color: #161616;
    background: #f7f1df;
}

.unfp-clean-header {
    display: none;
}

.unfp-clean-nav,
.unfp-masthead-nav {
    max-width: 1180px;
    margin: 0 auto;
    padding: 14px 18px;
}

.unfp-masthead-nav {
    padding: 12px 0 2px;
}

.unfp-clean-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px 18px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-family: Georgia, 'Times New Roman', serif;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 700;
}

.unfp-masthead-menu {
    justify-content: center;
    gap: 8px 16px;
    font-size: 13px;
}

.unfp-masthead-menu a {
    display: inline-block;
    padding: 2px 0;
}

.unfp-clean-menu li {
    position: relative;
    margin: 0;
    padding: 0;
}

.unfp-clean-menu a,
.unfp-clean-empty-menu {
    color: #161616;
    text-decoration: none;
    border-bottom: 1px solid transparent;
}

.unfp-clean-menu a:hover,
.unfp-clean-menu a:focus,
.unfp-clean-empty-menu:hover,
.unfp-clean-empty-menu:focus {
    border-bottom-color: currentColor;
}

.unfp-clean-main {
    flex: 1;
    width: min(1120px, calc(100% - 36px));
    margin: 0 auto;
    padding: clamp(24px, 4vw, 56px) 0;
}

.unfp-clean-shell-no-header .unfp-clean-main {
    padding-top: clamp(18px, 3vw, 36px);
}

.unfp-clean-content {
    background: transparent;
}

.unfp-clean-content > *:first-child {
    margin-top: 0;
}

.unfp-clean-content > *:last-child {
    margin-bottom: 0;
}

.unfp-clean-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 18px;
    padding: 18px;
    border-top: 2px solid #161616;
    background: #fbf6e8;
    color: #161616;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 14px;
}

.unfp-clean-footer a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    font-weight: 700;
}

@media (max-width: 640px) {
    .unfp-clean-menu {
        gap: 8px 12px;
        font-size: 14px;
    }

    .unfp-clean-main {
        width: min(100% - 28px, 1120px);
        padding: 26px 0;
    }
}

/* Past Issues / Older Posts button */
.unfp-past-issues-cta {
    margin-top: 28px;
    padding-top: 22px;
    border-top: 3px double var(--unfp-rule);
    text-align: center;
}

.unfp-past-issues-button {
    display: inline-block;
    padding: 10px 18px;
    border: 2px solid var(--unfp-rule);
    background: var(--unfp-ink);
    color: var(--unfp-paper) !important;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none !important;
}

.unfp-past-issues-button:hover,
.unfp-past-issues-button:focus {
    background: transparent;
    color: var(--unfp-ink) !important;
    text-decoration: none !important;
}

/* Breaking news / announcement bar */
.unfp-breaking-bar {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 auto 24px auto !important;
    padding: 10px 14px !important;
    border-top: 2px solid var(--unfp-rule) !important;
    border-bottom: 2px solid var(--unfp-rule) !important;
    text-align: center !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    background: rgba(0,0,0,.04) !important;
    clear: both !important;
    float: none !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
}

.unfp-breaking-inner {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
    float: none !important;
    vertical-align: middle !important;
}

.unfp-newspaper .unfp-breaking-bar,
.unfp-newspaper .unfp-breaking-bar * {
    box-sizing: border-box !important;
}

.unfp-newspaper .unfp-breaking-bar {
    grid-column: 1 / -1 !important;
    justify-self: stretch !important;
    align-self: center !important;
}

.unfp-breaking-label {
    display: inline-block !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font-size: inherit !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    white-space: nowrap !important;
}

.unfp-breaking-spacer {
    display: inline-block !important;
    width: .55em !important;
    flex: 0 0 .55em !important;
}

.unfp-breaking-text {
    display: inline-block !important;
    text-align: center !important;
}

.unfp-breaking-bar a.unfp-breaking-text {
    color: inherit !important;
    text-decoration: none !important;
}


/* Category section blocks */
.unfp-category-sections {
    margin-top: 28px;
}

.unfp-category-section {
    margin-top: 28px;
}

.unfp-category-section-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.unfp-section-card {
    min-width: 0;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(0,0,0,.35);
}

.unfp-section-card h3 {
    margin: 10px 0 6px;
    font-size: clamp(20px, 2vw, 28px);
    line-height: 1;
    letter-spacing: -.03em;
}

.unfp-section-card p {
    font-size: 15px;
}

.unfp-sections-page .unfp-masthead h1 {
    font-size: clamp(38px, 6vw, 72px);
}

@media (max-width: 900px) {
    .unfp-category-section-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .unfp-category-section-grid {
        grid-template-columns: 1fr;
    }
}

/* Single category page */
.unfp-category-page .unfp-masthead h1 {
    font-size: clamp(38px, 6vw, 72px);
}

.unfp-category-post-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.unfp-category-post-grid.unfp-columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.unfp-category-post-grid.unfp-columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.unfp-category-post-grid.unfp-columns-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 900px) {
    .unfp-category-post-grid,
    .unfp-category-post-grid.unfp-columns-2,
    .unfp-category-post-grid.unfp-columns-3,
    .unfp-category-post-grid.unfp-columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .unfp-category-post-grid,
    .unfp-category-post-grid.unfp-columns-2,
    .unfp-category-post-grid.unfp-columns-3,
    .unfp-category-post-grid.unfp-columns-4 {
        grid-template-columns: 1fr;
    }
}

/* v3.1 front page category layout and fillers */
.unfp-front-category-layout {
    margin-top: 28px;
}

.unfp-filler-card {
    background: rgba(0,0,0,.025);
    padding: 10px;
    border: 1px solid rgba(0,0,0,.18);
}

.unfp-ad-label {
    margin: 0 0 8px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    opacity: .72;
}

.unfp-filler-image .unfp-card-image,
.unfp-filler-image .unfp-card-image img {
    display: block;
    width: 100%;
}

.unfp-filler-image img {
    max-height: 220px;
    object-fit: contain;
    background: #fff;
}

.unfp-old-news-by-category .unfp-category-section {
    border-top: 2px solid #111;
    padding-top: 14px;
}

/* Image display controls added in v3.9 */
.unfp-newspaper.unfp-images-color .unfp-hero-image img,
.unfp-newspaper.unfp-images-color .unfp-card-image img,
.unfp-newspaper.unfp-images-color .unfp-image-ad img,
.unfp-newspaper.unfp-images-color .unfp-single-article-image img {
    filter: none !important;
}

.unfp-newspaper.unfp-images-bw .unfp-hero-image img,
.unfp-newspaper.unfp-images-bw .unfp-card-image img,
.unfp-newspaper.unfp-images-bw .unfp-image-ad img,
.unfp-newspaper.unfp-images-bw .unfp-single-article-image img {
    filter: grayscale(100%) contrast(1.05);
}

.unfp-newspaper.unfp-image-borders-off .unfp-hero-image img,
.unfp-newspaper.unfp-image-borders-off .unfp-card-image img,
.unfp-newspaper.unfp-image-borders-off .unfp-image-ad img,
.unfp-newspaper.unfp-image-borders-off .unfp-single-article-image img {
    border: 0 !important;
}

.unfp-newspaper.unfp-images-fit .unfp-card-image img,
.unfp-newspaper.unfp-images-crop .unfp-card-image img,
.unfp-newspaper.unfp-images-fit .unfp-image-ad img,
.unfp-newspaper.unfp-images-crop .unfp-image-ad img,
.unfp-newspaper.unfp-images-fit .unfp-single-article-image img,
.unfp-newspaper.unfp-images-crop .unfp-single-article-image img {
    height: var(--unfp-hero-image-height, 360px);
}

.unfp-newspaper.unfp-images-fit .unfp-hero-image img,
.unfp-newspaper.unfp-images-crop .unfp-hero-image img {
    height: var(--unfp-hero-image-height, 360px);
}

.unfp-newspaper.unfp-images-fit .unfp-hero-image img,
.unfp-newspaper.unfp-images-fit .unfp-card-image img,
.unfp-newspaper.unfp-images-fit .unfp-image-ad img,
.unfp-newspaper.unfp-images-fit .unfp-single-article-image img {
    object-fit: contain;
}

.unfp-newspaper.unfp-images-crop .unfp-hero-image img,
.unfp-newspaper.unfp-images-crop .unfp-card-image img,
.unfp-newspaper.unfp-images-crop .unfp-image-ad img,
.unfp-newspaper.unfp-images-crop .unfp-single-article-image img {
    object-fit: cover;
}

/* Print button / print-friendly issue view */
.unfp-print-cta {
    text-align: center;
    margin: -10px 0 22px;
}

.unfp-print-button {
    display: inline-block;
    appearance: none;
    border: 1px solid var(--unfp-rule);
    background: rgba(255,255,255,.45);
    color: var(--unfp-ink);
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    padding: 9px 16px;
    cursor: pointer;
}

.unfp-print-button:hover,
.unfp-print-button:focus {
    background: rgba(255,255,255,.75);
}

@media print {
    body {
        background: #fff !important;
    }

    body * {
        visibility: hidden;
    }

    .unfp-newspaper,
    .unfp-newspaper * {
        visibility: visible;
    }

    .unfp-newspaper {
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0.35in !important;
        box-shadow: none !important;
        border: 0 !important;
        background: #fff !important;
        color: #000 !important;
        --unfp-paper: #fff !important;
        --unfp-ink: #000 !important;
        --unfp-muted: #333 !important;
        --unfp-rule: #000 !important;
        --unfp-link: #000 !important;
    }

    .unfp-no-print,
    .unfp-print-cta,
    .unfp-past-issues-cta,
    .unfp-masthead-nav,
    .unfp-clean-menu,
    .unfp-pagination {
        display: none !important;
    }

    .unfp-hero,
    .unfp-card,
    .unfp-archive-card,
    .unfp-section-card,
    .unfp-ad-card,
    .unfp-classified-card {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .unfp-newspaper a {
        color: #000 !important;
        text-decoration: none !important;
    }

    .unfp-hero-image img,
    .unfp-card-image img {
        filter: grayscale(100%) contrast(1.05) !important;
    }
}

/* v4.3: print button inside the breaking news row */
.unfp-breaking-row {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
}

.unfp-breaking-print-button {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 6px 10px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    letter-spacing: .06em !important;
    vertical-align: middle !important;
}

/* v4.4: print button spacing and masthead-menu placement when breaking news is off */
.unfp-masthead-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px 30px !important;
    width: 100% !important;
    margin: 10px auto 0 auto !important;
    text-align: center !important;
}

.unfp-masthead-nav .unfp-masthead-menu {
    margin: 0 !important;
}

.unfp-masthead-print-button {
    flex: 0 0 auto !important;
    margin: 0 8px 0 0 !important;
}

.unfp-breaking-row {
    gap: 24px !important;
}

@media (max-width: 640px) {
    .unfp-masthead-nav {
        gap: 10px 18px !important;
    }

    .unfp-masthead-print-button {
        margin-right: 0 !important;
    }
}


/* v4.5: tighten print button and create real outside spacing before breaking text */
.unfp-breaking-row {
    column-gap: 0 !important;
    row-gap: 8px !important;
}

.unfp-breaking-row .unfp-breaking-print-button {
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 4px 8px !important;
    margin: 0 34px 0 0 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
}

.unfp-breaking-row .unfp-breaking-inner {
    margin-left: 0 !important;
}

.unfp-masthead-nav .unfp-masthead-print-button {
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 4px 8px !important;
    margin: 0 34px 0 0 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
}

@media (max-width: 640px) {
    .unfp-breaking-row .unfp-breaking-print-button,
    .unfp-masthead-nav .unfp-masthead-print-button {
        margin-right: 18px !important;
    }
}


/* v4.6: wrap print button separately so space is outside the button, not inside it */
.unfp-print-breaking-wrap,
.unfp-print-menu-wrap {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
}

.unfp-print-breaking-wrap {
    margin: 0 38px 0 0 !important;
}

.unfp-print-menu-wrap {
    margin: 0 34px 0 0 !important;
}

.unfp-print-breaking-wrap .unfp-print-button,
.unfp-print-menu-wrap .unfp-print-button {
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    padding: 4px 8px !important;
    margin: 0 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
}

.unfp-breaking-row .unfp-breaking-inner {
    margin-left: 0 !important;
}

@media (max-width: 640px) {
    .unfp-print-breaking-wrap,
    .unfp-print-menu-wrap {
        margin-right: 20px !important;
    }
}


/* Umpty Newspaper custom authors */
.unfp-author-byline{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;margin:.2rem 0 .35rem;color:var(--unfp-muted-color,#5d5548)}
.unfp-author-byline .unfp-author-name{font-weight:700;color:var(--unfp-text-color,#161616)}
.unfp-author-byline .unfp-author-role:before{content:" — ";font-weight:400;color:var(--unfp-muted-color,#5d5548)}
.unfp-article-author-box{display:flex;gap:14px;align-items:flex-start;border-top:2px solid var(--unfp-line-color,#252525);border-bottom:1px solid var(--unfp-line-color,#252525);padding:12px 0;margin:0 0 18px}
.unfp-article-author-photo{width:72px;height:72px;object-fit:cover;border-radius:50%;border:1px solid var(--unfp-line-color,#252525)}
.unfp-article-author-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--unfp-muted-color,#5d5548)}
.unfp-article-author-name{font-size:1.1rem;font-weight:800;line-height:1.1}
.unfp-article-author-role{font-size:.9rem;font-weight:700;color:var(--unfp-muted-color,#5d5548);margin-top:2px}
.unfp-article-author-bio{font-size:.95rem;margin-top:6px}
.unfp-author-profile-link{display:inline-block;margin-top:6px;font-weight:700}
.unfp-author-directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:20px}
.unfp-author-directory-card{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--unfp-line-color,#252525);padding:14px;background:rgba(255,255,255,.35)}
.unfp-directory-author-photo{width:80px;height:80px;object-fit:cover;border-radius:50%;border:1px solid var(--unfp-line-color,#252525);flex:0 0 auto}
.unfp-author-directory-card h2{font-size:1.25rem;margin:0 0 4px;line-height:1.1}
.unfp-directory-author-role{font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin:.1rem 0 .4rem;color:var(--unfp-muted-color,#5d5548)}
.unfp-directory-author-bio{margin:.35rem 0}
.unfp-directory-author-links{font-weight:700;margin:.5rem 0 0}
@media(max-width:600px){.unfp-article-author-box,.unfp-author-directory-card{display:block}.unfp-article-author-photo,.unfp-directory-author-photo{margin-bottom:10px}}

/* Per-section layout columns */
.unfp-category-section-grid.unfp-columns-1 {
    grid-template-columns: 1fr;
}

.unfp-category-section-grid.unfp-columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.unfp-category-section-grid.unfp-columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.unfp-category-section-grid.unfp-columns-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 900px) {
    .unfp-category-section-grid.unfp-columns-3,
    .unfp-category-section-grid.unfp-columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .unfp-category-section-grid.unfp-columns-1,
    .unfp-category-section-grid.unfp-columns-2,
    .unfp-category-section-grid.unfp-columns-3,
    .unfp-category-section-grid.unfp-columns-4 {
        grid-template-columns: 1fr;
    }
}


/* v5.5 stronger section layout overrides */
.unfp-category-sections .unfp-category-section-grid.unfp-columns-1 {
    grid-template-columns: 1fr !important;
}
.unfp-category-sections .unfp-category-section-grid.unfp-columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.unfp-category-sections .unfp-category-section-grid.unfp-columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.unfp-category-sections .unfp-category-section-grid.unfp-columns-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
@media (max-width: 900px) {
    .unfp-category-sections .unfp-category-section-grid.unfp-columns-3,
    .unfp-category-sections .unfp-category-section-grid.unfp-columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 640px) {
    .unfp-category-sections .unfp-category-section-grid.unfp-columns-1,
    .unfp-category-sections .unfp-category-section-grid.unfp-columns-2,
    .unfp-category-sections .unfp-category-section-grid.unfp-columns-3,
    .unfp-category-sections .unfp-category-section-grid.unfp-columns-4 {
        grid-template-columns: 1fr !important;
    }
}


/* v6.8 stable: apply display image controls to single article featured images */
.unfp-newspaper.unfp-images-color .unfp-single-article-image img {
    filter: none !important;
    -webkit-filter: none !important;
}
.unfp-newspaper.unfp-images-bw .unfp-single-article-image img {
    filter: grayscale(100%) contrast(1.05) !important;
    -webkit-filter: grayscale(100%) contrast(1.05) !important;
}
.unfp-newspaper.unfp-image-borders-off .unfp-single-article-image img {
    border: 0 !important;
}
.unfp-newspaper.unfp-images-fit .unfp-single-article-image img,
.unfp-newspaper.unfp-images-crop .unfp-single-article-image img {
    height: var(--unfp-hero-image-height, 360px);
    width: 100%;
}
.unfp-newspaper.unfp-images-fit .unfp-single-article-image img {
    object-fit: contain;
}
.unfp-newspaper.unfp-images-crop .unfp-single-article-image img {
    object-fit: cover;
}


/* v7.0 - Tighten spacing between single article byline and article body */
.unfp-single-article-page .unfp-article-author-box {
    margin-bottom: 8px !important;
    padding-bottom: 8px !important;
}

.unfp-single-article-page .unfp-single-article-body {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.unfp-single-article-page .unfp-single-article-body > *:first-child {
    margin-top: 0 !important;
}

.unfp-single-article-page .unfp-clean-content .unfp-article-author-box + .unfp-single-article-body,
.unfp-single-article-page .unfp-article-author-box + .unfp-single-article-body {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* v7.1 - Remove more whitespace between single article byline and article body */
.unfp-single-article-page .unfp-article-author-box {
    margin-top: 4px !important;
    margin-bottom: 0 !important;
    padding-top: 4px !important;
    padding-bottom: 0 !important;
}

.unfp-single-article-page .unfp-article-author-copy {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.unfp-single-article-page .unfp-article-author-box + .unfp-single-article-body,
.unfp-single-article-page .unfp-single-article-header + .unfp-single-article-body,
.unfp-single-article-page .unfp-clean-content .unfp-single-article-body {
    margin-top: -18px !important;
    padding-top: 0 !important;
}

.unfp-single-article-page .unfp-single-article-body > p:first-child,
.unfp-single-article-page .unfp-single-article-body > div:first-child,
.unfp-single-article-page .unfp-single-article-body > *:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* v7.3 - Clean single article byline without old author-box layout */
.unfp-single-article-page .unfp-single-byline-compact {
    display: block !important;
    width: 100% !important;
    clear: both !important;
    box-sizing: border-box !important;
    margin: 4px 0 6px 0 !important;
    padding: 0 !important;
    border: 0 !important;
    min-height: 0 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.unfp-single-article-page .unfp-single-byline-compact a {
    display: inline !important;
}

.unfp-single-article-page .unfp-single-byline-role {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    font-weight: 400 !important;
}

.unfp-single-article-page .unfp-single-byline-role:before {
    content: " — ";
}

.unfp-single-article-page .unfp-single-byline-compact + * {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.unfp-single-article-page .unfp-single-article-body,
.unfp-single-article-page .unfp-single-article-body > *:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* v7.4 - Backup / Reset admin tools */
.unfp-admin-card {
    background: #fff;
    border: 1px solid #dcdcde;
    padding: 16px;
    margin: 16px 0;
    max-width: 980px;
}

.unfp-danger-card {
    border-left: 4px solid #b32d2e;
}


/* v8.1 - Donation button shortcode */
.unfp-donation-button-wrap {
    margin: 1rem 0;
}

.unfp-donation-align-left {
    text-align: left;
}

.unfp-donation-align-center {
    text-align: center;
}

.unfp-donation-align-right {
    text-align: right;
}

.unfp-donation-button {
    display: inline-block;
    padding: 0.75rem 1.25rem;
    border: 3px double var(--unfp-line-color, #1f1f1f);
    background: var(--unfp-text-color, #161616);
    color: var(--unfp-paper-bg, #fffdf5) !important;
    text-decoration: none !important;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.unfp-donation-button:hover,
.unfp-donation-button:focus {
    opacity: .85;
}

.unfp-donation-button-missing {
    padding: .75rem;
    border: 1px dashed #b32d2e;
}


/* v8.2 - Masthead donation button placement */
.unfp-date-donate-row {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    margin: 0.25rem 0 0.5rem;
}

.unfp-date-donate-row .unfp-date-line {
    margin: 0;
}

.unfp-masthead-donation-button {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: inline-block;
    padding: 4px 9px;
    border: 2px solid var(--unfp-line-color, #1f1f1f);
    background: var(--unfp-text-color, #161616);
    color: var(--unfp-paper-bg, #fffdf5) !important;
    text-decoration: none !important;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: .04em;
    white-space: nowrap;
}

.unfp-masthead-donation-button:hover,
.unfp-masthead-donation-button:focus {
    opacity: .85;
}

@media (max-width: 640px) {
    .unfp-date-donate-row {
        flex-direction: column;
        gap: 6px;
    }

    .unfp-masthead-donation-button {
        position: static;
        transform: none;
        margin-top: 2px;
    }
}


/* v8.3 - Stronger masthead donation button visibility */
.unfp-masthead.unfp-has-donation-masthead {
    position: relative;
    overflow: visible;
}

.unfp-admin-masthead-preview {
    max-width: 720px;
    padding: 12px;
    border: 1px dashed #999;
    background: #fff;
}

.unfp-masthead-donation-missing {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: inline-block;
    padding: 4px 8px;
    border: 1px dashed #b32d2e;
    background: #fff;
    color: #b32d2e;
    font-size: .75rem;
    white-space: nowrap;
}

.unfp-masthead .unfp-date-donate-row {
    min-height: 28px;
}

.unfp-masthead .unfp-masthead-donation-button {
    z-index: 5;
}


/* v8.5 - Refine masthead donation button: boxed, smaller, colored, right aligned with date */
.unfp-date-donate-row {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    width: 100% !important;
    gap: 10px !important;
    margin: 0.2rem 0 0.45rem !important;
    min-height: 22px !important;
}

.unfp-date-donate-row .unfp-date-line {
    grid-column: 2 !important;
    margin: 0 !important;
    line-height: 22px !important;
    text-align: center !important;
}

.unfp-date-donate-row .unfp-masthead-donation-button {
    grid-column: 3 !important;
    justify-self: end !important;
    align-self: center !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 22px !important;
    height: 22px !important;
    box-sizing: border-box !important;
    padding: 2px 8px !important;
    border: 1px solid #8b1e1e !important;
    background: #f8e7a1 !important;
    color: #7a1111 !important;
    font-size: 0.68rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.unfp-date-donate-row .unfp-masthead-donation-button:hover,
.unfp-date-donate-row .unfp-masthead-donation-button:focus {
    background: #ffe17a !important;
    color: #5f0c0c !important;
    opacity: 1 !important;
}

@media (max-width: 640px) {
    .unfp-date-donate-row {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        gap: 5px !important;
    }

    .unfp-date-donate-row .unfp-date-line,
    .unfp-date-donate-row .unfp-masthead-donation-button {
        grid-column: auto !important;
        justify-self: center !important;
    }
}


/* v8.6 - Inline masthead donation layout support */
.unfp-masthead .unfp-date-donate-row .unfp-masthead-donation-button {
    position: static !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
}


/* v8.9 - Mobile layout controls fallback styles */
@media (max-width: 700px) {
    .unfp-mobile-controls-on .unfp-front-category-layout,
    .unfp-mobile-controls-on .unfp-category-section-grid,
    .unfp-mobile-controls-on .unfp-post-grid {
        grid-template-columns: 1fr !important;
    }

    .unfp-mobile-hide-excerpts .unfp-excerpt,
    .unfp-mobile-hide-excerpts .unfp-story-excerpt,
    .unfp-mobile-hide-excerpts .unfp-card-excerpt {
        display: none !important;
    }

    .unfp-mobile-hide-images img,
    .unfp-mobile-hide-images figure {
        display: none !important;
    }

    .unfp-mobile-compact-masthead .unfp-masthead {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }
}


/* v9.0 - Shortcode helper full list */
.unfp-shortcode-full-list {
    columns: 2;
    max-width: 900px;
}

.unfp-shortcode-full-list li {
    margin: 0 0 8px;
}
