/* widgets.css */
/* =========================================================================
   NewsOn theme — default WordPress widgets
   Every classic widget and widget block (the ones a new WordPress install puts
   in the sidebar) styled to match the theme. Black, white and one accent.
   ========================================================================= */

/* ---------- the card: 1px ink border, a soft shadow, the title as a header strip ---------- */
.nw-sidebar { --nw-card-line: #0a0a0a; --nw-card-bg: var(--nw-bg, #fff); min-width: 0; }
.nw-sidebar .widget { min-width: 0; }
.nw-sidebar .widget { position: relative; margin: 0 0 24px; padding: 18px 20px 20px; border: 1px solid var(--nw-card-line); border-radius: 0; background: var(--nw-card-bg); box-shadow: 0 16px 36px -30px rgba(10, 10, 10, .55); overflow: visible; transition: box-shadow .7s ease; }
.nw-sidebar .widget:hover { box-shadow: 0 22px 44px -30px rgba(10, 10, 10, .6); }
.nw-sidebar .widget::before { content: none; }
.nw-sidebar .widget:last-child { margin-bottom: 0; }
/* news-style widget titles: a strip across the card top with a small red square */
.nw-sidebar .widget-title, .nw-sidebar .widget_block > .wp-block-heading:first-child, .nw-sidebar .widget_block > .wp-block-group > .wp-block-heading:first-child, .nw-sidebar .widget_block > .wp-block-group > .wp-block-group__inner-container > .wp-block-heading:first-child, .nw-sidebar .wp-block-search__label {
	display: flex; align-items: center; gap: 10px; margin: -18px -20px 18px; padding: 13px 20px 12px; border: 0; border-bottom: 1px solid var(--nw-card-line); font-family: var(--nw-font); font-size: 12px; font-weight: 800; letter-spacing: .14em; line-height: 1.3; text-transform: uppercase; color: var(--nw-ink);
}
.nw-sidebar .widget-title::before, .nw-sidebar .widget_block > .wp-block-heading:first-child::before, .nw-sidebar .widget_block > .wp-block-group > .wp-block-heading:first-child::before, .nw-sidebar .widget_block > .wp-block-group > .wp-block-group__inner-container > .wp-block-heading:first-child::before, .nw-sidebar .wp-block-search__label::before { content: ''; flex: none; width: 8px; height: 8px; background: var(--nw-accent); }

/* titles: classic widget titles and the headings inside widget blocks */
.widget-title, .widget_block .wp-block-heading, .widget_block > h2, .widget_block > h3 { position: relative; display: flex; align-items: center; gap: 10px; margin: 0 0 16px; padding: 0; font-family: var(--nw-font); font-size: 12px; font-weight: 700; letter-spacing: .1em; line-height: 1.3; text-transform: uppercase; color: var(--nw-ink); }
.widget-title::before, .widget_block .wp-block-heading::before, .widget_block > h2::before, .widget_block > h3::before { content: none; }
.widget-title a { color: inherit; }
.widget .wp-block-group { margin: 0; }
.widget .wp-block-group__inner-container > :last-child { margin-bottom: 0; }

/* ---------- lists (recent posts, archives, categories, pages, meta, menus) ---------- */
.widget ul, .widget ol { margin: 0; padding: 0; list-style: none; }
.widget li { position: relative; margin: 0; padding: 0; border: 0; }
.widget_archive li, .widget_categories li, .widget_pages li, .widget_meta li, .widget_nav_menu li,
.wp-block-archives-list li, .wp-block-categories-list li, .wp-block-page-list li, .widget_recent_entries li, .wp-block-latest-posts__list li { border-bottom: 1px solid #ececec; }
.widget_archive li:last-child, .widget_categories li:last-child, .widget_pages li:last-child, .widget_meta li:last-child, .widget_nav_menu li:last-child,
.wp-block-archives-list li:last-child, .wp-block-categories-list li:last-child, .wp-block-page-list li:last-child, .widget_recent_entries li:last-child, .wp-block-latest-posts__list li:last-child { border-bottom: 0; }
.widget a { color: var(--nw-ink); text-decoration: none; transition: color .45s ease; }
.widget a:hover { text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .2em; }

/* link rows with a sliding chevron and a count */
.widget_archive li, .widget_categories li, .widget_pages li, .widget_meta li, .widget_nav_menu li,
.wp-block-archives-list li, .wp-block-categories-list li, .wp-block-page-list li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 0; font-size: 15px; font-weight: 600; }
.widget_archive li > a, .widget_categories li > a, .widget_pages li > a, .widget_meta li > a, .widget_nav_menu li > a,
.wp-block-archives-list li > a, .wp-block-categories-list li > a, .wp-block-page-list li > a { flex: 1; display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.widget_archive li > a::before, .widget_categories li > a::before, .widget_pages li > a::before, .widget_meta li > a::before, .widget_nav_menu li > a::before,
.wp-block-archives-list li > a::before, .wp-block-categories-list li > a::before, .wp-block-page-list li > a::before { content: ''; flex: none; width: 6px; height: 6px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); opacity: .35; transition: transform .5s cubic-bezier(.22, .61, .36, 1), opacity .5s ease, color .5s ease; }
.widget li > a:hover::before { opacity: 1; transform: translateX(3px) rotate(45deg); }
.nw-count { flex: none; min-width: 24px; padding: 0; border-radius: 0; background: none; color: var(--nw-mute); font-size: 12px; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; transition: color .5s ease; }
.widget li:hover > .nw-count { background: none; color: var(--nw-ink); }
/* Categories (classic + block): count badge and a thin bar for the size of each section */
.nw-sidebar .widget_categories li, .nw-sidebar .wp-block-categories-list li { gap: 6px 10px; }
.nw-sidebar .widget_categories .nw-count, .nw-sidebar .wp-block-categories-list .nw-count { display: inline-grid; place-items: center; min-width: 32px; height: 22px; padding: 0 7px; border: 1px solid var(--nw-card-line); color: var(--nw-ink); font-size: 11.5px; font-weight: 700; text-align: center; transition: background-color .4s ease, color .4s ease; }
.nw-sidebar .widget_categories li:hover > .nw-count, .nw-sidebar .wp-block-categories-list li:hover > .nw-count { background: var(--nw-ink); color: #fff; }
.nw-cbar { display: none; }
.nw-sidebar .nw-cbar, .nw-el-widget .nw-cbar { position: relative; display: block; flex-basis: 100%; height: 2px; overflow: hidden; background: #ececec; }
.nw-sidebar .nw-cbar::after, .nw-el-widget .nw-cbar::after { content: ''; position: absolute; inset: 0 auto 0 0; width: var(--p, 0%); background: var(--nw-ink); }
.nw-sidebar .widget_categories li:first-child > .nw-cbar::after, .nw-sidebar .wp-block-categories-list li:first-child > .nw-cbar::after { background: var(--nw-accent); }
/* child categories / sub pages / sub menus */
.widget li .children, .widget li .sub-menu, .wp-block-page-list .wp-block-navigation__submenu-container { flex-basis: 100%; margin: 6px 0 0 3px; padding-left: 14px; border-left: 1px solid var(--nw-line); }
.widget li .children li, .widget li .sub-menu li { padding: 6px 0; font-size: 14px; font-weight: 500; border-bottom: 0; }

/* ---------- recent posts (classic + Latest Posts block) ---------- */
.widget_recent_entries li, .wp-block-latest-posts__list li { display: flex; flex-direction: column; gap: 3px; padding: 12px 0 12px 34px; counter-increment: nwrp; }
.widget_recent_entries ul, .wp-block-latest-posts__list { counter-reset: nwrp; }
.widget_recent_entries li::before, .wp-block-latest-posts__list li::before { content: counter(nwrp, decimal-leading-zero); position: absolute; left: 0; top: 12px; font-family: var(--nw-font-head); font-size: 18px; font-weight: 600; line-height: 1.2; color: var(--nw-ink); font-variant-numeric: tabular-nums; }
.widget_recent_entries li:first-child::before, .wp-block-latest-posts__list li:first-child::before { color: var(--nw-accent-text, currentColor); }
.widget_recent_entries li a, .wp-block-latest-posts__post-title { font-family: var(--nw-font-head); font-size: 16px; font-weight: 600; line-height: 1.35; }
.widget_recent_entries .post-date, .wp-block-latest-posts__post-date, .wp-block-latest-posts__post-author { font-size: 12px; color: var(--nw-mute); }
.wp-block-latest-posts__post-excerpt { margin: 2px 0 0; font-size: 13.5px; line-height: 1.55; color: var(--nw-text); }
/* with featured images */
.wp-block-latest-posts__list li:has(.wp-block-latest-posts__featured-image) { display: grid; grid-template-columns: 72px minmax(0, 1fr); column-gap: 14px; padding-left: 0; }
.wp-block-latest-posts__list li:has(.wp-block-latest-posts__featured-image)::before { display: none; }
.wp-block-latest-posts__featured-image { grid-row: span 3; margin: 0 !important; width: 72px; height: 72px; overflow: hidden; border-radius: var(--nw-radius); background: var(--nw-soft); }
.wp-block-latest-posts__featured-image img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; transition: transform .6s ease; }
.wp-block-latest-posts__list li:hover .wp-block-latest-posts__featured-image img { transform: scale(1.03); }
.wp-block-latest-posts.is-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.wp-block-latest-posts.is-grid li { margin: 0 !important; border: 0; padding: 0; }
.wp-block-latest-posts.is-grid li::before { display: none; }

/* ---------- recent comments (classic + block) ---------- */
#recentcomments li, .widget_recent_comments li { padding: 12px 0 12px 44px; font-size: 14px; line-height: 1.5; color: var(--nw-mute); border-bottom: 1px solid #ececec; }
.widget_recent_comments li:last-child { border-bottom: 0; }
.widget_recent_comments li::before { content: ''; position: absolute; left: 0; top: 12px; width: 32px; height: 32px; border-radius: 50%; background: var(--nw-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a0a0a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E") center / 15px no-repeat; }
.widget_recent_comments .comment-author-link, .widget_recent_comments .comment-author-link a { font-weight: 700; color: var(--nw-ink); }
.widget_recent_comments li > a { font-weight: 600; }
.wp-block-latest-comments { margin: 0; padding: 0; }
.wp-block-latest-comments__comment { position: relative; margin: 0 !important; padding: 12px 0 !important; border-bottom: 1px solid #ececec; line-height: 1.5; list-style: none; }
.wp-block-latest-comments__comment:last-child { border-bottom: 0; }
.wp-block-latest-comments__comment article { display: block; }
.wp-block-latest-comments .avatar, .wp-block-latest-comments__comment-avatar { float: left; width: 36px !important; height: 36px !important; margin: 2px 12px 0 0 !important; border-radius: 50%; box-shadow: none; }
.wp-block-latest-comments__comment-meta { font-size: 14px; color: var(--nw-mute); }
.wp-block-latest-comments__comment-author { font-weight: 700; color: var(--nw-ink) !important; }
.wp-block-latest-comments__comment-link { font-weight: 600; }
.wp-block-latest-comments__comment-date { display: block; margin-top: 2px; font-size: 12px; color: var(--nw-mute); }
.wp-block-latest-comments__comment-excerpt p { margin: 6px 0 0; font-size: 13.5px; color: var(--nw-text); }
.wp-block-latest-comments.has-avatars .wp-block-latest-comments__comment-meta, .wp-block-latest-comments.has-avatars .wp-block-latest-comments__comment-excerpt { margin-left: 48px; }

/* ---------- search (classic + block): square input + ink button ---------- */
.widget .search-form, .wp-block-search__inside-wrapper { position: relative; display: flex; align-items: stretch; gap: 0; max-width: none; padding: 0; border: 1px solid #d4d4d4; border-radius: 0; background: #fff; transition: border-color .4s ease; }
.widget .search-form:focus-within, .wp-block-search__inside-wrapper:focus-within { border-color: var(--nw-ink); background: #fff; box-shadow: none; outline: 2px solid var(--nw-ink, #0a0a0a); outline-offset: 2px; }
.widget .search-form label { flex: 1; min-width: 0; margin: 0; }
.widget .search-field, .wp-block-search__input { width: 100%; min-width: 0; height: 46px; margin: 0; padding: 0 8px 0 14px; border: 0 !important; border-radius: 0; background: transparent !important; box-shadow: none !important; outline: 0; color: var(--nw-ink); font: inherit; font-size: 15px; }
.widget .search-field::placeholder, .wp-block-search__input::placeholder { color: var(--nw-mute); }
.widget .search-submit, .wp-block-search__button { flex: none; height: 46px; margin: 0 !important; padding: 0 18px; border: 0; border-radius: 0; background: var(--nw-ink); color: #fff; font: inherit; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; box-shadow: none; transition: background-color .35s ease; }
.widget .search-submit:hover, .wp-block-search__button:hover { background: var(--nw-accent); box-shadow: none; color: var(--nw-accent-ink, #0a0a0a); }
.wp-block-search__button.has-icon { width: 46px; padding: 0; display: grid; place-items: center; }
.wp-block-search__button svg { width: 20px; height: 20px; fill: currentColor; }
.wp-block-search__label { display: block; margin: 0 0 12px; font-family: var(--nw-font); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--nw-ink); }
.wp-block-search__button-outside .wp-block-search__inside-wrapper { padding: 0; }
.wp-block-search__no-button .wp-block-search__inside-wrapper { padding-right: 0; }
/* a widget that is just a search box needs no rule heading space */
.nw-sidebar .widget_search, .nw-sidebar .widget_block:has(> .wp-block-search:only-child) { padding: 14px; }
.nw-sidebar .widget_search .search-form, .nw-sidebar .wp-block-search__inside-wrapper { border-color: var(--nw-card-line); }
.nw-sidebar .widget_search .search-field, .nw-sidebar .wp-block-search__input { padding-left: 40px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a0a0a' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 14px center / 17px no-repeat !important; }
.nw-sidebar .widget_search .search-submit { padding: 0 16px; }

/* ---------- tag cloud (classic + block) ---------- */
.tagcloud, .wp-block-tag-cloud { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.tagcloud a, .wp-block-tag-cloud a { display: inline-flex; align-items: center; margin: 0 !important; padding: 6px 10px; border: 1px solid var(--nw-line); border-radius: 0; background: transparent; color: var(--nw-ink); font-size: 11.5px !important; font-weight: 600; letter-spacing: .06em; line-height: 1.3; text-transform: uppercase; transition: background .4s ease, color .4s ease, border-color .4s ease; }
.tagcloud a::before, .wp-block-tag-cloud a::before { content: none; }
.tagcloud a:hover, .wp-block-tag-cloud a:hover { border-color: var(--nw-ink); background: var(--nw-ink); color: #fff; }
.tag-link-count { margin-left: 5px; font-size: 11px; opacity: .65; }
.wp-block-tag-cloud.is-style-outline a { background: transparent; }

/* ---------- calendar (classic + block) ---------- */
.wp-calendar-table, #wp-calendar { width: 100%; margin: 0; border-collapse: separate; border-spacing: 2px; table-layout: fixed; font-size: 13.5px; text-align: center; }
.wp-calendar-table caption, #wp-calendar caption { caption-side: top; margin: 0 0 10px; padding: 0; text-align: left; font-family: var(--nw-font); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--nw-ink); }
.wp-calendar-table th, #wp-calendar th { padding: 6px 0; border: 0; border-bottom: 1px solid var(--nw-ink); background: transparent; color: var(--nw-mute); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.wp-calendar-table td, #wp-calendar td { position: relative; height: 36px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--nw-text); font-weight: 500; font-variant-numeric: tabular-nums; }
.wp-calendar-table td.pad, #wp-calendar td.pad { background: transparent; }
.wp-calendar-table td a, #wp-calendar td a { display: grid; place-items: center; width: 100%; height: 100%; border-radius: 0; background: transparent; color: var(--nw-ink); font-weight: 700; text-decoration: underline; text-decoration-color: var(--nw-accent); text-underline-offset: 3px; transition: background .4s ease, color .4s ease; }
.wp-calendar-table td a::after, #wp-calendar td a::after { content: none; }
.wp-calendar-table td a:hover, #wp-calendar td a:hover { background: var(--nw-ink); color: #fff; }
.wp-calendar-table #today, #wp-calendar #today { background: var(--nw-ink); color: #fff; font-weight: 700; }
.wp-calendar-table #today a, #wp-calendar #today a { background: var(--nw-ink); color: #fff; }
.wp-calendar-nav { display: flex; justify-content: space-between; gap: 10px; margin-top: 12px; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.wp-calendar-nav a { display: inline-flex; padding: 6px 0; border-radius: 0; background: none; }
.wp-calendar-nav a:hover { background: none; text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .2em; }
.wp-block-calendar table:where(:not(.has-text-color)) th { background: transparent; }
.wp-block-calendar :where(table:not(.has-text-color)) td, .wp-block-calendar :where(table:not(.has-text-color)) th { border: 0; }

/* ---------- dropdowns (archives / categories as a select) ---------- */
.widget select, .wp-block-archives-dropdown select, .wp-block-categories-dropdown select { width: 100%; height: 48px; padding: 0 40px 0 14px; border: 1px solid #d4d4d4; border-radius: 0; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a0a0a' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center / 16px no-repeat; color: var(--nw-ink); font: inherit; font-size: 15px; font-weight: 500; -webkit-appearance: none; appearance: none; cursor: pointer; transition: border-color .4s ease; }
.widget select:focus { outline: 2px solid var(--nw-ink, #0a0a0a); outline-offset: 2px; border-color: var(--nw-ink); box-shadow: none; }
.wp-block-archives-dropdown label, .wp-block-categories-dropdown label { display: block; margin: 0 0 10px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--nw-ink); }

/* ---------- RSS (classic + block) ---------- */
.widget_rss .widget-title img, .rss-widget-icon { display: none; }
.widget_rss li, .wp-block-rss__item { padding: 12px 0; border-bottom: 1px solid #ececec; }
.widget_rss li:last-child, .wp-block-rss__item:last-child { border-bottom: 0; }
.widget_rss .rsswidget, .wp-block-rss__item-title a { font-family: var(--nw-font-head); font-size: 16px; font-weight: 600; line-height: 1.35; }
.widget_rss .rss-date, .wp-block-rss__item-publish-date, .wp-block-rss__item-author { display: block; margin-top: 3px; font-size: 12px; color: var(--nw-mute); }
.widget_rss .rssSummary, .wp-block-rss__item-excerpt { margin-top: 5px; font-size: 13.5px; line-height: 1.55; }
.widget_rss cite { font-style: normal; font-size: 12px; color: var(--nw-mute); }

/* ---------- text, custom HTML, media, social ---------- */
.textwidget, .widget_block p { font-size: 15px; line-height: 1.7; }
.textwidget p:last-child, .widget_block p:last-child { margin-bottom: 0; }
.textwidget img, .widget_media_image img, .widget_block .wp-block-image img { border-radius: var(--nw-radius); }
.widget_media_image figure, .widget_block .wp-block-image { margin: 0; }
.widget .wp-caption-text, .widget figcaption { margin-top: 8px; font-size: 12.5px; color: var(--nw-mute); text-align: left; }
.widget_media_video .wp-video, .widget_media_video video, .widget_media_audio .wp-audio-shortcode { border-radius: var(--nw-radius); overflow: hidden; }
.widget .gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin: 0; }
.widget .gallery-item { margin: 0; }
.widget .gallery img { border-radius: var(--nw-radius); aspect-ratio: 1; object-fit: cover; }
.widget .wp-block-social-links { gap: 8px; margin: 0; }
.widget .wp-block-social-links .wp-social-link { margin: 0; transition: opacity .4s ease; }
.widget .wp-block-social-links .wp-social-link:hover { opacity: .75; }
.widget .wp-block-buttons { margin-top: 12px; }
.widget .wp-block-button__link { border-radius: 0; background: var(--nw-ink); color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; transition: background-color .35s ease; }
.widget .wp-block-button__link:hover { background: var(--nw-accent); color: var(--nw-accent-ink, #0a0a0a); }
.widget .wp-block-quote { margin: 0; }

/* ---------- footer widget areas (black default footer) ---------- */
.nw-footer .widget { margin: 0 0 28px; padding: 0; border: 0; background: transparent; box-shadow: none; overflow: visible; }
.nw-footer .widget::before { display: none; }
.nw-footer .widget-title, .nw-footer .widget_block .wp-block-heading, .nw-footer .wp-block-search__label, .nw-footer .wp-calendar-table caption { color: #fff; }
.nw-footer .widget-title::before, .nw-footer .widget_block .wp-block-heading::before { content: ''; display: block; flex: none; width: 24px; height: 2px; background: var(--nw-accent); box-shadow: none; }
.nw-footer .widget a { color: #a3a3a3; }
.nw-footer .widget a:hover { color: #fff; }
.nw-footer .widget li { border-color: #262626 !important; }
.nw-footer .widget, .nw-footer .widget p, .nw-footer .post-date, .nw-footer .wp-block-latest-posts__post-date, .nw-footer .wp-calendar-table td, .nw-footer .wp-calendar-table th { color: #a3a3a3; }
.nw-footer .widget_recent_entries li::before, .nw-footer .wp-block-latest-posts__list li::before { color: #fff; }
.nw-footer .widget_recent_entries li:first-child::before, .nw-footer .wp-block-latest-posts__list li:first-child::before { color: var(--nw-accent); }
.nw-footer .nw-count, .nw-footer .tagcloud a, .nw-footer .wp-block-tag-cloud a, .nw-footer .wp-calendar-nav a { border-color: #262626; background: transparent; color: #a3a3a3; }
.nw-footer .tagcloud a:hover, .nw-footer .wp-block-tag-cloud a:hover { border-color: #fff; background: #fff; color: #0a0a0a; }
.nw-footer .search-form, .nw-footer .wp-block-search__inside-wrapper, .nw-footer .widget select { border-color: #262626; background-color: #171717; }
.nw-footer .search-field, .nw-footer .wp-block-search__input, .nw-footer .widget select { color: #fff; }
.nw-footer .search-submit, .nw-footer .wp-block-search__button { background: #fff; color: #0a0a0a; }
.nw-footer .search-submit:hover, .nw-footer .wp-block-search__button:hover { background: var(--nw-accent); color: var(--nw-accent-ink, #0a0a0a); }
.nw-footer .wp-calendar-table th { border-bottom-color: #262626; }
.nw-footer .wp-calendar-table td a { background: transparent; color: #fff; }
.nw-footer .wp-calendar-table #today, .nw-footer .wp-calendar-table #today a { background: #fff; color: #0a0a0a; }

/* soft entrance for sidebar blocks */
@media (prefers-reduced-motion: no-preference) {
	.nw-sidebar .widget { animation: nw-widget-in .9s cubic-bezier(.22, .61, .36, 1) both; }
	.nw-sidebar .widget:nth-child(2) { animation-delay: .07s; } .nw-sidebar .widget:nth-child(3) { animation-delay: .14s; } .nw-sidebar .widget:nth-child(4) { animation-delay: .21s; } .nw-sidebar .widget:nth-child(n+5) { animation-delay: .28s; }
}
@keyframes nw-widget-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* sticky sidebar: theme.css + the smart sticky in theme.js (a tall sidebar scrolls both ways) */
.wp-block-search__label { display: flex; align-items: center; gap: 10px; }
.wp-block-search__label::before { content: none; }

/* ---------- WordPress widgets placed with Elementor: same block as the sidebar ---------- */
.nw-el-widget.widget { --nw-card-line: #0a0a0a; position: relative; margin: 0; padding: 18px 20px 20px; border: 1px solid var(--nw-card-line); border-radius: 0; background: var(--nw-bg, #fff); box-shadow: 0 16px 36px -30px rgba(10, 10, 10, .55); overflow: visible; }
.nw-el-widget.widget::before { content: none; }
.nw-el-widget .widget-title { display: flex; align-items: center; gap: 10px; margin: -18px -20px 18px; padding: 13px 20px 12px; border-bottom: 1px solid var(--nw-card-line); font-size: 12px; font-weight: 800; letter-spacing: .14em; }
.nw-el-widget .widget-title::before { content: ''; flex: none; width: 8px; height: 8px; background: var(--nw-accent); }

/* ---------- dark mode ---------- */
html.nwdm-m-palette.nwdm-dark .nw-sidebar, html.nwdm-m-palette.nwdm-dark .nw-el-widget.widget { --nw-card-line: #3a3a3a; --nw-card-bg: #0f0f0f; }
html.nwdm-m-palette.nwdm-dark .nw-sidebar .widget, html.nwdm-m-palette.nwdm-dark .nw-el-widget.widget { box-shadow: none; }
html.nwdm-m-palette.nwdm-dark .widget li, html.nwdm-m-palette.nwdm-dark .wp-block-latest-comments__comment, html.nwdm-m-palette.nwdm-dark .wp-block-rss__item { border-bottom-color: #262626; }
html.nwdm-m-palette.nwdm-dark .widget .search-form, html.nwdm-m-palette.nwdm-dark .wp-block-search__inside-wrapper, html.nwdm-m-palette.nwdm-dark .widget select { border-color: #3a3a3a; background-color: #171717; }
html.nwdm-m-palette.nwdm-dark .widget .search-submit, html.nwdm-m-palette.nwdm-dark .wp-block-search__button, html.nwdm-m-palette.nwdm-dark .widget .wp-block-button__link { background: #f5f5f4; color: #0a0a0a; }
html.nwdm-m-palette.nwdm-dark .widget .search-submit:hover, html.nwdm-m-palette.nwdm-dark .wp-block-search__button:hover, html.nwdm-m-palette.nwdm-dark .widget .wp-block-button__link:hover { background: var(--nw-accent); color: var(--nw-accent-ink, #0a0a0a); }
html.nwdm-m-palette.nwdm-dark .tagcloud a, html.nwdm-m-palette.nwdm-dark .wp-block-tag-cloud a { border-color: #262626; }
html.nwdm-m-palette.nwdm-dark .tagcloud a:hover, html.nwdm-m-palette.nwdm-dark .wp-block-tag-cloud a:hover { border-color: #f5f5f4; background: #f5f5f4; color: #0a0a0a; }
html.nwdm-m-palette.nwdm-dark .wp-calendar-table #today, html.nwdm-m-palette.nwdm-dark .wp-calendar-table #today a, html.nwdm-m-palette.nwdm-dark .wp-calendar-table td a:hover { background: #f5f5f4; color: #0a0a0a; }

/* archive.css */
/* =========================================================================
   NewsOn theme — blog, category, tag, author, date and search headers
   Five designs (Theme Options → Blog): cover, magazine, split, mosaic, minimal.
   ========================================================================= */

.nw-ah { position: relative; isolation: isolate; color: var(--nw-ink); }
.nw-ah-inner { position: relative; }

/* breadcrumb */
.nw-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0 0 22px; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--nw-mute); }
.nw-crumbs a { color: inherit; text-decoration: none; transition: color .45s ease; }
.nw-crumbs a:hover { text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .2em; }
.nw-crumbs i { font-style: normal; opacity: .45; }
.nw-crumbs [aria-current] { color: var(--nw-ink); max-width: 40ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* eyebrow: a short line + small caps, no pill */
.nw-ah-eyebrow { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 14px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--nw-accent-text, currentColor); text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .28em; text-decoration-skip-ink: none; }
.nw-ah-eyebrow::before { content: ''; width: 24px; height: 2px; border-radius: 0; background: currentColor; }
.nw-ah-title { margin: 0 0 14px; max-width: 18ch; font-size: clamp(2.4rem, 5.2vw, 4.2rem); line-height: 1.05; letter-spacing: -.02em; font-weight: 600; color: inherit; }
.nw-ah-desc { max-width: 620px; font-size: 1.1rem; line-height: 1.65; color: var(--nw-mute); }
.nw-ah-desc p { margin: 0 0 .6em; } .nw-ah-desc p:last-child { margin: 0; }
.nw-ah-avatar { display: block; width: 96px; height: 96px; margin: 0 0 18px; border-radius: 50%; object-fit: cover; box-shadow: none; }

/* stats line */
.nw-ah-stats { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 0; margin-top: 22px; font-size: 13px; color: var(--nw-mute); }
.nw-ah-stats > * + *::before { content: ''; display: inline-block; width: 4px; height: 4px; margin: 0 14px; border-radius: 50%; background: currentColor; opacity: .5; vertical-align: middle; }
.nw-ah-stats b { color: var(--nw-ink); font-weight: 700; font-variant-numeric: tabular-nums; }
.nw-ah-rss { color: inherit; font-weight: 700; text-decoration: none; }
.nw-ah-rss:hover { text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .2em; }

/* related topics */
.nw-ah-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.nw-ah-chip { display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px; border: 1px solid var(--nw-line); border-radius: 0; background: transparent; color: var(--nw-ink); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; transition: border-color .5s ease, color .5s ease, background .5s ease; }
.nw-ah-chip small { font-size: 11.5px; font-weight: 700; color: var(--nw-mute); font-variant-numeric: tabular-nums; }
.nw-ah-chip:hover { border-color: var(--nw-ink); color: var(--nw-ink); }
.nw-ah-chip.is-on { border-color: var(--nw-ink); background: var(--nw-ink); color: #fff; }
.nw-ah-chip.is-on small { color: rgba(255, 255, 255, .7); }

/* search box in the search results header */
.nw-ah-search { display: flex; gap: 0; max-width: 560px; margin-top: 22px; padding: 0; border: 1px solid #d4d4d4; border-radius: 0; background: #fff; box-shadow: none; }
.nw-ah-search:focus-within { border-color: var(--nw-ink); outline: 2px solid var(--nw-ink, #0a0a0a); outline-offset: 2px; box-shadow: 0 0 0 4px var(--nw-accent); }
.nw-ah-search input { flex: 1; min-width: 0; height: 48px; padding: 0 14px; border: 0; background: transparent; outline: 0; font: inherit; font-size: 16px; color: var(--nw-ink); }
.nw-ah-search button { padding: 0 22px; border: 0; border-radius: 0; background: var(--nw-ink); color: #fff; font: inherit; font-size: 12.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: background .45s ease; }
.nw-ah-search button:hover { background: var(--nw-accent); color: var(--nw-accent-ink, #0a0a0a); }

/* soft entrance */
@media (prefers-reduced-motion: no-preference) {
	.nw-ah-inner > *, .nw-ah-copy > * { animation: nw-ah-in 1s cubic-bezier(.22, .61, .36, 1) both; }
	.nw-ah-inner > :nth-child(2), .nw-ah-copy > :nth-child(2) { animation-delay: .06s; } .nw-ah-inner > :nth-child(3), .nw-ah-copy > :nth-child(3) { animation-delay: .12s; } .nw-ah-inner > :nth-child(n+4), .nw-ah-copy > :nth-child(n+4) { animation-delay: .18s; }
}
@keyframes nw-ah-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

/* ---------- 1 · photo cover ---------- */
.nw-ah-cover { display: flex; align-items: flex-end; min-height: 500px; padding: 140px 0 60px; background: #0a0a0a; color: #fff; overflow: hidden; }
.nw-ah-cover .nw-ah-media { position: absolute; inset: 0; z-index: 0; }
.nw-ah-cover > .nw-ah-inner { z-index: 1; }
.nw-ah-cover .nw-ah-media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); animation: nw-ah-zoom 18s ease-out both; }
.nw-ah-cover .nw-ah-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,10,10,.9) 0%, rgba(10,10,10,.5) 50%, rgba(10,10,10,.3) 100%); } /* the one black scrim behind text */
@keyframes nw-ah-zoom { to { transform: scale(1); } }
.nw-ah-cover .nw-crumbs, .nw-ah-cover .nw-ah-desc, .nw-ah-cover .nw-ah-stats { color: rgba(255, 255, 255, .75); }
.nw-ah-cover .nw-crumbs [aria-current], .nw-ah-cover .nw-ah-stats b { color: #fff; }
.nw-ah-cover .nw-crumbs a:hover, .nw-ah-cover .nw-ah-rss:hover { color: #fff; }
.nw-ah-cover .nw-ah-eyebrow { color: #fff; }
.nw-ah-cover .nw-ah-eyebrow::before { background: var(--nw-accent); width: 36px; height: 3px; }
.nw-ah-cover .nw-ah-chip { border-color: rgba(255, 255, 255, .3); background: transparent; color: #fff; }
.nw-ah-cover .nw-ah-chip small { color: rgba(255, 255, 255, .65); }
.nw-ah-cover .nw-ah-chip:hover { border-color: #fff; background: transparent; color: #fff; }
.nw-ah-cover .nw-ah-chip.is-on { border-color: #fff; background: #fff; color: #0a0a0a; }
.nw-ah-cover .nw-ah-chip.is-on small { color: #6b6b6b; }
.nw-ah-cover .nw-ah-search { border-color: #fff; background: #fff; }

/* ---------- 2 · newspaper masthead ---------- */
.nw-ah-magazine { padding: 64px 0 0; text-align: center; background: var(--nw-bg); }
.nw-ah-magazine .nw-ah-inner { padding-bottom: 44px; }
.nw-ah-magazine .nw-ah-inner::before { content: ''; display: block; max-width: 920px; height: 5px; margin: 0 auto 28px; border-top: 3px solid var(--nw-ink); border-bottom: 1px solid var(--nw-ink); }
.nw-ah-magazine .nw-crumbs { justify-content: center; }
.nw-ah-magazine .nw-ah-eyebrow::before { content: none; }
.nw-ah-magazine .nw-ah-title { max-width: 20ch; margin-left: auto; margin-right: auto; font-size: clamp(2.8rem, 7vw, 5.6rem); letter-spacing: -.025em; }
.nw-ah-magazine .nw-ah-desc { margin: 0 auto; }
.nw-ah-magazine .nw-ah-stats { justify-content: center; }
.nw-ah-magazine .nw-ah-search, .nw-ah-magazine .nw-ah-avatar { margin-left: auto; margin-right: auto; }
.nw-ah-tabs { border-top: 1px solid var(--nw-ink); border-bottom: 1px solid var(--nw-line); }
.nw-ah-tabs .nw-ah-chips { justify-content: center; gap: 4px 28px; margin: 0; }
.nw-ah-tabs .nw-ah-chip { position: relative; padding: 16px 0; border: 0; border-radius: 0; background: none; font-size: 13.5px; letter-spacing: .06em; text-transform: uppercase; }
.nw-ah-tabs .nw-ah-chip::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: var(--nw-accent); transform: scaleX(0); transition: transform .6s cubic-bezier(.22, .61, .36, 1); }
.nw-ah-tabs .nw-ah-chip:hover { transform: none; }
.nw-ah-tabs .nw-ah-chip:hover::after, .nw-ah-tabs .nw-ah-chip.is-on::after { transform: scaleX(1); }
.nw-ah-tabs .nw-ah-chip.is-on { background: none; color: var(--nw-ink); }
.nw-ah-tabs .nw-ah-chip.is-on small { color: var(--nw-mute); }

/* ---------- 3 · split with the lead story ---------- */
.nw-ah-split { padding: 56px 0 64px; background: var(--nw-bg); border-top: 3px solid var(--nw-ink); border-bottom: 1px solid var(--nw-ink); }
.nw-ah-split .nw-ah-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); gap: 56px; align-items: center; }
.nw-ah-split .nw-ah-chip:not(.is-on) { background: transparent; }
.nw-ah-lead { position: relative; display: block; overflow: hidden; border-radius: var(--nw-radius); aspect-ratio: 5 / 4; color: #fff; text-decoration: none; box-shadow: none; }
.nw-ah-lead-img { position: absolute; inset: 0; }
.nw-ah-lead-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.nw-ah-lead:hover .nw-ah-lead-img img { transform: scale(1.03); }
.nw-ah-lead-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,10,10,.88), rgba(10,10,10,.1) 60%); }
.nw-ah-lead-body { position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; gap: 8px; padding: 30px 32px; }
.nw-ah-lead-body em { align-self: flex-start; padding: 4px 8px; border-radius: 0; background: #0a0a0a; color: #fff; font-size: 11px; font-style: normal; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.nw-ah-lead-body b { font-family: var(--nw-font-head); font-size: clamp(1.4rem, 2.4vw, 2rem); font-weight: 600; line-height: 1.15; letter-spacing: -.01em; }
.nw-ah-lead-body small { font-size: 13.5px; color: rgba(255, 255, 255, .75); }

/* ---------- 4 · photo mosaic ---------- */
.nw-ah-mosaic { padding: 56px 0 64px; border-bottom: 1px solid var(--nw-ink); }
.nw-ah-mosaic .nw-ah-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 56px; align-items: center; }
.nw-ah-tiles { display: grid; grid-template-columns: 1.25fr 1fr; grid-template-rows: 1fr 1fr; gap: 14px; height: 440px; }
.nw-ah-tile { position: relative; overflow: hidden; border-radius: var(--nw-radius); background: var(--nw-soft); color: #fff; text-decoration: none; }
.nw-ah-tile:first-child { grid-row: span 2; }
.nw-ah-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.nw-ah-tile::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,10,10,.75), transparent 55%); opacity: .85; transition: opacity .6s ease; }
.nw-ah-tile span { position: absolute; left: 16px; right: 16px; bottom: 14px; z-index: 1; font-size: 14.5px; font-weight: 700; line-height: 1.3; transform: translateY(4px); transition: transform .6s ease; }
.nw-ah-tile:first-child span { font-size: 18px; }
.nw-ah-tile:hover img { transform: scale(1.03); }
.nw-ah-tile:hover span { transform: none; }
@media (prefers-reduced-motion: no-preference) { .nw-ah-tile { animation: nw-ah-in 1.1s cubic-bezier(.22, .61, .36, 1) both; animation-delay: calc(.12s + var(--i) * .1s); } }

/* ---------- 5 · minimal ---------- */
.nw-ah-minimal { padding: 64px 0 40px; border-bottom: 1px solid var(--nw-ink); }
.nw-ah-minimal .nw-ah-title { max-width: 24ch; font-size: clamp(2.2rem, 4.4vw, 3.4rem); }

/* ---------- the newest story, wide above the grid ---------- */
.nw-lead { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); overflow: hidden; border: 0; border-top: 3px solid var(--nw-ink); border-bottom: 1px solid var(--nw-line); border-radius: 0; background: transparent; box-shadow: none; }
.nw-lead-media { display: block; min-height: 380px; overflow: hidden; background: var(--nw-soft); }
.nw-lead-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.nw-lead:hover .nw-lead-media img { transform: scale(1.03); }
.nw-lead-body { display: flex; flex-direction: column; justify-content: center; padding: 32px 0 32px 40px; }
.nw-lead-flag { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--nw-accent-text, currentColor); text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .28em; text-decoration-skip-ink: none; }
.nw-lead-flag::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: none; }
.nw-lead-body .nw-pill { align-self: flex-start; margin-bottom: 12px; padding: 0; background: none; box-shadow: none; }
.nw-lead-title { margin: 0 0 12px; font-size: clamp(1.6rem, 2.6vw, 2.2rem); font-weight: 600; line-height: 1.12; letter-spacing: -.015em; }
.nw-lead-title a { color: var(--nw-ink); text-decoration: none; transition: color .45s ease; }
.nw-lead-title a:hover { text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .2em; }
.nw-lead-excerpt { color: var(--nw-mute); font-size: 16px; } .nw-lead-excerpt p { margin: 0 0 18px; }
.nw-lead-meta { display: flex; align-items: center; gap: 12px; padding-top: 18px; border-top: 1px solid var(--nw-line); font-size: 14px; }
.nw-lead-meta img { width: 36px; height: 36px; border-radius: 50%; }
.nw-lead-meta span { display: flex; flex-direction: column; line-height: 1.3; }
.nw-lead-meta b { color: var(--nw-ink); }
.nw-lead-meta small { color: var(--nw-mute); font-size: 12.5px; }
.nw-lead-more { margin-left: auto; color: var(--nw-ink); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.nw-lead-more:hover { text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .2em; }
.nw-has-sidebar .nw-lead { grid-template-columns: 1fr; }
.nw-has-sidebar .nw-lead-media { min-height: 0; aspect-ratio: 16 / 9; }
.nw-has-sidebar .nw-lead-body { padding: 24px 0 28px; }

/* ---------- responsive ---------- */
@media (max-width: 1000px) {
	.nw-ah-split .nw-ah-inner, .nw-ah-mosaic .nw-ah-inner { grid-template-columns: 1fr; gap: 34px; }
	.nw-ah-tiles { height: 360px; }
	.nw-lead { grid-template-columns: 1fr; }
	.nw-lead-body { padding: 26px 0 28px; }
	.nw-lead-media { min-height: 0; aspect-ratio: 16 / 9; }
}
@media (max-width: 640px) {
	.nw-ah-cover { min-height: 420px; padding: 110px 0 40px; }
	.nw-ah-magazine { padding-top: 44px; }
	.nw-ah-split, .nw-ah-mosaic { padding: 40px 0 44px; }
	.nw-ah-tiles { height: 300px; gap: 10px; }
	.nw-ah-tile span { font-size: 12.5px; left: 12px; right: 12px; }
	.nw-ah-tabs .nw-ah-chips { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }
	.nw-ah-tabs .nw-ah-chip { white-space: nowrap; }
	.nw-lead-body { padding: 22px 0 24px; }
	.nw-lead-meta { flex-wrap: wrap; }
	.nw-lead-more { margin-left: 0; }
	.nw-crumbs [aria-current] { max-width: 22ch; }
}

/* blog-layouts.css */
/* =========================================================================
   NewsOn theme — blog layouts, archive controls, extra archive headers and
   single-post extras (share, related posts, post navigation, wide image).
   Theme Options → Blog & Archives / Single Post. Prefixes: nwal- (lists), nwsp- (posts).
   Every rule here only applies to markup that a non-default option prints.
   ========================================================================= */

.nwal { --nwal-gap: 28px; --nwal-cols: 3; --nwal-card: #fff; container: nwal / inline-size; }
.nwal-c2 { --nwal-cols: 2; } .nwal-c3 { --nwal-cols: 3; } .nwal-c4 { --nwal-cols: 4; }
.nwal-r-169 { --nwal-ratio: 16 / 9; } .nwal-r-43 { --nwal-ratio: 4 / 3; } .nwal-r-11 { --nwal-ratio: 1 / 1; } .nwal-r-34 { --nwal-ratio: 3 / 4; } .nwal-r-auto { --nwal-ratio: auto; }

/* ---------- shared parts ---------- */
.nwal-list { display: grid; gap: var(--nwal-gap); }
.nwal-item { position: relative; min-width: 0; }
.nwal-media { position: relative; display: block; overflow: hidden; background: var(--nw-soft); }
.nwal-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.nwal-item:hover .nwal-media img { transform: scale(1.03); }
.nwal-r-auto .nwal-media img, .nwal-item.is-natural .nwal-media img { height: auto; }
.nwal-title { margin: 0 0 10px; font-size: 1.3rem; font-weight: 600; line-height: 1.22; letter-spacing: -.01em; overflow-wrap: anywhere; }
.nwal-title a { color: var(--nw-ink); text-decoration: none; transition: color .45s ease; }
.nwal-title a:hover { text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .2em; }
.nwal-cat { display: inline-block; margin: 0 0 10px; color: var(--nw-accent-text, currentColor); font-family: var(--nw-font); font-size: 11.5px; font-weight: 700; letter-spacing: .08em; line-height: 1.4; text-transform: uppercase; text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .28em; text-decoration-skip-ink: none; }
.nwal-cat:hover { color: var(--nw-ink); }
.nwal-excerpt { color: var(--nw-mute); font-size: 15.5px; line-height: 1.65; }
.nwal-excerpt p { margin: 0 0 14px; }
.nwal-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; color: var(--nw-mute); font-size: 12.5px; font-weight: 500; line-height: 1.5; }
.nwal-meta > * + *::before { content: ''; display: inline-block; width: 3px; height: 3px; margin: 0 10px; border-radius: 50%; background: currentColor; opacity: .55; vertical-align: middle; }
.nwal-m-author { display: inline-flex; align-items: center; gap: 8px; color: var(--nw-ink); font-weight: 600; }
.nwal-m-author img { width: 22px; height: 22px; border-radius: 50%; }
.nwal-m-author + *::before { margin-left: 12px; }

/* read more: link, button, arrow */
.nwal-more-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; color: var(--nw-ink); font-size: 12.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; text-underline-offset: 4px; transition: gap .45s ease, color .45s ease; }
.nwal-more-link:hover { gap: 9px; color: var(--nw-ink); text-decoration: underline; text-decoration-thickness: 1px; }
.nwal-more-btn { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; padding: 12px 20px; border-radius: 0; background: var(--nw-ink); color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; line-height: 1.2; text-decoration: none; transition: background .4s ease; }
.nwal-more-btn:hover { background: var(--nw-accent); color: var(--nw-accent-ink, #0a0a0a); }
.nwal-more-arrow { align-self: flex-start; display: inline-grid; place-items: center; width: 42px; height: 42px; margin-top: 14px; border: 1px solid var(--nw-ink); border-radius: 0; color: var(--nw-ink); transition: background .45s ease, border-color .45s ease, color .45s ease, transform .45s ease; }
.nwal-more-arrow svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.nwal-more-arrow:hover { background: var(--nw-ink); border-color: var(--nw-ink); color: #fff; }
.nw-card-foot .nwal-more-link, .nw-card-foot .nwal-more-btn, .nw-card-foot .nwal-more-arrow { margin-top: 0; }
.nw-card-foot .nwal-meta { font-size: 13.5px; }
.nw-card-foot:has(.nwal-meta) { flex-wrap: wrap; gap: 12px; }
.nw-card-foot:has(.nwal-meta) .nwal-meta { flex: 1 1 100%; }
.nwal-more-btn, .nwal-more-link { white-space: nowrap; }

/* no featured image: the first letter on the grey tint band */
.nwal-ph { position: relative; display: grid; place-items: center; width: 100%; height: 100%; min-height: 100%; background: var(--nw-soft); color: var(--nw-ink); }
.nwal-ph b { font: 600 clamp(2.4rem, 7cqi, 4.6rem) / 1 var(--nw-font-head); letter-spacing: -.02em; opacity: .9; }
.nwal-ph small { position: absolute; left: 16px; bottom: 12px; color: var(--nw-accent-text, currentColor); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .7; text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .28em; text-decoration-skip-ink: none; }
.nwal-r-auto .nwal-ph, .nwal-item.is-natural .nwal-ph { aspect-ratio: 4 / 3; }

/* ---------- card ---------- */
.nwal-v-card { display: flex; flex-direction: column; overflow: hidden; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.nwal-v-card .nwal-media { border-radius: var(--nw-radius); }
.nwal-v-card .nwal-media { aspect-ratio: var(--nwal-ratio, 16 / 10); }
.nwal-v-card.is-natural .nwal-media { aspect-ratio: var(--nwal-ratio, auto); }
.nwal-v-card .nwal-body { display: flex; flex-direction: column; flex: 1; padding: 18px 0 0; }
.nwal-v-card .nwal-excerpt { flex: 1; }
.nwal-v-card .nwal-meta { padding-top: 12px; border-top: 1px solid #ececec; }

/* card styles (also restyle the original card grid). Keys kept; B&W: flat (default), border = 1px hairline box, shadow = 3px ink top rule, glass = grey tint band */
.nwal-cs-flat :is(.nwal-v-card, .nwal-v-row.is-small), .nw-cards.nwal-cs-flat .nw-card { border-color: transparent; background: transparent; box-shadow: none; overflow: visible; }
.nwal-cs-flat .nwal-v-card .nwal-media, .nw-cards.nwal-cs-flat .nw-card-media { border-radius: var(--nw-radius); }
.nwal-cs-flat .nwal-v-card .nwal-body, .nw-cards.nwal-cs-flat .nw-card-body { padding: 18px 2px 0; }
.nwal-cs-flat .nwal-v-card:hover, .nw-cards.nwal-cs-flat .nw-card:hover { box-shadow: none; }
.nwal-cs-border :is(.nwal-v-card, .nwal-v-row.is-small), .nw-cards.nwal-cs-border .nw-card { border-color: var(--nw-line); box-shadow: none; }
.nwal-cs-border :is(.nwal-v-card) { border: 1px solid var(--nw-line); }
.nwal-cs-border .nwal-v-card .nwal-body { padding: 18px 20px 20px; }
.nwal-cs-border .nwal-v-card .nwal-media { border-radius: 0; }
.nwal-cs-border .nwal-v-card:hover, .nw-cards.nwal-cs-border .nw-card:hover { border-color: var(--nw-ink); box-shadow: none; }
.nwal-cs-shadow :is(.nwal-v-card, .nwal-v-row.is-small), .nw-cards.nwal-cs-shadow .nw-card { border: 0; border-top: 3px solid var(--nw-ink); border-radius: 0; box-shadow: none; }
.nwal-cs-shadow .nwal-v-card { padding-top: 14px; }
.nwal-cs-glass, .nw-cards.nwal-cs-glass { padding: 26px; border-radius: 0; background: var(--nw-soft); }
.nwal-cs-glass :is(.nwal-v-card, .nwal-v-row.is-small), .nw-cards.nwal-cs-glass .nw-card { border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.nwal-cs-glass .nwal-v-card .nwal-body { padding: 18px 20px 20px; }
.nwal-cs-glass .nwal-v-card .nwal-media { border-radius: 0; }
.nw-cards.nwal-gap { gap: var(--nwal-gap); }
.nw-cards[class*="nwal-r-"] .nw-card-media { aspect-ratio: var(--nwal-ratio); }
.nw-cards.nwal-r-auto .nw-card-media img { height: auto; }
.nw-cards.nw-cols-4 { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.nw-has-sidebar .nw-cards.nw-cols-4 { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }

/* ---------- column grids ---------- */
:is(.nwal-l-hero, .nwal-l-split, .nwal-l-magazine, .nwal-l-overlay, .nwal-l-gallery) .nwal-list { grid-template-columns: repeat(var(--nwal-cols), minmax(0, 1fr)); }
.nwal-l-masonry .nwal-list { display: block; columns: var(--nwal-cols) 240px; column-gap: var(--nwal-gap); }
.nwal-l-masonry .nwal-item { display: block; break-inside: avoid; margin: 0 0 var(--nwal-gap); }
@container nwal (max-width: 1020px) { .nwal-c4 .nwal-list { --nwal-cols: 3; } }
@container nwal (max-width: 800px) { .nwal-c3 .nwal-list, .nwal-c4 .nwal-list { --nwal-cols: 2; } }
@container nwal (max-width: 540px) { :is(.nwal-c2, .nwal-c3, .nwal-c4) .nwal-list { --nwal-cols: 1; } .nwal.nwal-l-gallery .nwal-list { --nwal-cols: 2; } }

/* ---------- overlay (text on the photo) ---------- */
.nwal-v-overlay { isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; aspect-ratio: var(--nwal-ratio, 4 / 5); min-height: 240px; border-radius: var(--nw-radius); background: #0a0a0a; color: #fff; }
.nwal-v-overlay .nwal-media { position: absolute; inset: 0; z-index: -1; background: #0a0a0a; }
.nwal-v-overlay .nwal-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,10,10,0) 28%, rgba(10,10,10,.84) 100%); }
.nwal-v-overlay.no-img .nwal-ph { background: #171717; color: rgba(255, 255, 255, .14); }
.nwal-v-overlay.no-img .nwal-ph b { font-size: clamp(5rem, 20cqi, 9rem); }
.nwal-v-overlay.no-img .nwal-ph small { display: none; }
.nwal-v-overlay .nwal-body { position: relative; padding: 24px 24px 22px; }
.nwal-v-overlay .nwal-title a { color: #fff; }
.nwal-v-overlay .nwal-title a:hover { color: #fff; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.nwal-v-overlay .nwal-cat { align-self: flex-start; padding: 4px 8px; border-radius: 0; background: #0a0a0a; color: #fff; font-size: 11px; }
.nwal-v-overlay .nwal-meta, .nwal-v-overlay .nwal-m-author { color: rgba(255, 255, 255, .8); }
.nwal-v-overlay .nwal-excerpt { color: rgba(255, 255, 255, .82); }
.nwal-v-overlay.is-big { aspect-ratio: auto; min-height: 460px; }
.nwal-v-overlay.is-big .nwal-body { max-width: 760px; padding: clamp(24px, 4cqi, 48px); }
.nwal-v-overlay.is-big .nwal-title { font-size: clamp(1.6rem, 3.6cqi, 2.8rem); line-height: 1.08; letter-spacing: -.015em; }
.nwal-v-overlay.is-big .nwal-excerpt { max-width: 60ch; font-size: 16px; }
.nwal-v-overlay.is-big .nwal-excerpt p { margin-bottom: 12px; }

/* featured zones (first page only) */
.nwal-feat { margin-bottom: calc(var(--nwal-gap) + 16px); }
.nwal-feat-hero .nwal-v-overlay { min-height: clamp(420px, 46vw, 600px); }
.nwal-feat-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--nwal-gap); }
.nwal-feat-split .nwal-v-overlay { min-height: 440px; }
.nwal-feat-magazine { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: calc(var(--nwal-gap) + 8px); align-items: stretch; }
.nwal-feat-magazine > .nwal-v-overlay { min-height: 520px; }
.nwal-feat-side { display: flex; flex-direction: column; justify-content: space-between; gap: 4px; }
.nwal-feat-side .nwal-v-row.is-small { padding: 0 0 18px; border: 0; border-bottom: 1px solid var(--nw-line); border-radius: 0; background: none; box-shadow: none; }
.nwal-feat-side .nwal-v-row.is-small:last-child { border-bottom: 0; padding-bottom: 0; }
.nwal-feat-side .nwal-v-row.is-small .nwal-media { width: 92px; }
@container nwal (max-width: 760px) {
	.nwal-feat-split, .nwal-feat-magazine { grid-template-columns: 1fr; }
	.nwal-feat-magazine > .nwal-v-overlay, .nwal-feat-split .nwal-v-overlay { min-height: 380px; }
	.nwal-feat-hero .nwal-v-overlay { min-height: 420px; }
}

/* ---------- rows: zig-zag, compact cards ---------- */
.nwal-v-row { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(24px, 5cqi, 64px); align-items: center; }
.nwal-v-row.no-img { grid-template-columns: minmax(0, 1fr); }
.nwal-v-row .nwal-media { aspect-ratio: var(--nwal-ratio, 4 / 3); border-radius: var(--nw-radius); }
.nwal-l-zigzag .nwal-list { gap: calc(var(--nwal-gap) * 2.4); }
.nwal-l-zigzag .nwal-item:nth-child(even) .nwal-media { order: 2; }
.nwal-l-zigzag .nwal-title { font-size: clamp(1.45rem, 3cqi, 2.15rem); line-height: 1.12; letter-spacing: -.015em; }
.nwal-l-zigzag .nwal-v-row.no-img .nwal-body { max-width: 760px; padding: 0 0 0 28px; border-left: 3px solid var(--nw-ink); }
@container nwal (max-width: 700px) {
	.nwal-v-row { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	.nwal-l-zigzag .nwal-item:nth-child(even) .nwal-media { order: 0; }
	.nwal-l-zigzag .nwal-list { gap: calc(var(--nwal-gap) * 1.6); }
}
.nwal-v-row.is-small { grid-template-columns: auto minmax(0, 1fr); gap: 16px; align-items: center; padding: 0 0 16px; border: 0; border-bottom: 1px solid #ececec; border-radius: 0; background: transparent; transition: border-color .45s ease; }
.nwal-v-row.is-small.no-img { grid-template-columns: minmax(0, 1fr); padding: 0 0 16px; }
.nwal-v-row.is-small:hover { border-bottom-color: var(--nw-ink); }
.nwal-v-row.is-small .nwal-media { width: 112px; aspect-ratio: 1 / 1; border-radius: var(--nw-radius); }
.nwal-v-row.is-small .nwal-title { margin: 0 0 6px; font-size: 1.04rem; line-height: 1.32; }
.nwal-v-row.is-small .nwal-cat { margin-bottom: 6px; font-size: 11px; }
.nwal-v-row.is-small .nwal-meta { font-size: 12.5px; }
.nwal-l-compact .nwal-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(var(--nwal-gap) * .65); }
@container nwal (max-width: 640px) {
	.nwal-l-compact .nwal-list { grid-template-columns: minmax(0, 1fr); }
	.nwal-v-row.is-small { grid-template-columns: auto minmax(0, 1fr); }
	.nwal-v-row.is-small .nwal-media { width: 88px; }
}

/* ---------- timeline ---------- */
.nwal-l-timeline .nwal-list { position: relative; gap: 0; }
.nwal-l-timeline .nwal-list::before { content: ''; position: absolute; left: 118px; top: 10px; bottom: 10px; width: 1px; background: var(--nw-line); }
.nwal-v-row.is-rail { grid-template-columns: 96px minmax(0, 1fr) minmax(0, 220px); gap: 0 44px; align-items: start; padding: 0 0 44px; }
.nwal-v-row.is-rail.no-img { grid-template-columns: 96px minmax(0, 1fr); }
.nwal-rail { position: relative; padding-top: 3px; text-align: right; line-height: 1.25; }
.nwal-rail b { display: block; color: var(--nw-ink); font: 600 1.05rem / 1.2 var(--nw-font-head); }
.nwal-rail small { color: var(--nw-mute); font-size: 12.5px; font-variant-numeric: tabular-nums; }
.nwal-rail::after { content: ''; position: absolute; right: -28px; top: 7px; width: 11px; height: 11px; border: 2px solid var(--nw-ink); border-radius: 50%; background: var(--nw-bg, #fff); box-shadow: 0 0 0 5px var(--nw-bg, #fff); transition: background .45s ease, border-color .45s ease; }
.nwal-v-row.is-rail:hover .nwal-rail::after { border-color: var(--nw-accent); background: var(--nw-accent); }
.nwal-v-row.is-rail .nwal-body { grid-column: 2; grid-row: 1; }
.nwal-v-row.is-rail .nwal-media { grid-column: 3; grid-row: 1; aspect-ratio: var(--nwal-ratio, 4 / 3); border-radius: var(--nw-radius); }
.nwal-v-row.is-rail .nwal-title { font-size: 1.32rem; }
.nwal-v-row.is-rail .nwal-more-link { margin-top: 10px; }
@container nwal (max-width: 640px) {
	.nwal-l-timeline .nwal-list::before { left: 5px; }
	.nwal-v-row.is-rail, .nwal-v-row.is-rail.no-img { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 0 0 36px 30px; }
	.nwal-rail { text-align: left; }
	.nwal-rail b, .nwal-rail small { display: inline; margin-right: 6px; }
	.nwal-rail::after { right: auto; left: -30px; top: 5px; }
	.nwal-v-row.is-rail .nwal-body, .nwal-v-row.is-rail .nwal-media { grid-column: 1; grid-row: auto; }
}

/* ---------- classic big image ---------- */
.nwal-l-classic .nwal-list { gap: 0; max-width: 980px; margin: 0 auto; }
.nwal-v-big { padding: 0 0 64px; }
.nwal-v-big + .nwal-v-big { padding-top: 64px; border-top: 1px solid var(--nw-line); }
.nwal-v-big .nwal-media { aspect-ratio: var(--nwal-ratio, 16 / 9); margin: 0 0 30px; border-radius: var(--nw-radius); }
.nwal-v-big .nwal-body { max-width: 760px; margin: 0; text-align: left; }
.nwal-v-big .nwal-title { font-size: clamp(1.7rem, 4cqi, 2.7rem); line-height: 1.08; letter-spacing: -.015em; margin-bottom: 14px; }
.nwal-v-big .nwal-meta { justify-content: flex-start; margin: 4px 0 6px; }
.nwal-v-big .nwal-excerpt { margin-top: 14px; font-size: 1.05rem; }
.nwal-v-big :is(.nwal-more-link, .nwal-more-btn, .nwal-more-arrow) { align-self: flex-start; }
.nwal-v-big.no-img .nwal-body { padding: 8px 0 0; }

/* ---------- newspaper ---------- */
.nwal-l-newspaper { --nwal-serif: var(--nw-font-head); }
.nwal-l-newspaper .nwal-list { display: block; columns: var(--nwal-cols) 240px; column-gap: 46px; column-rule: 1px solid var(--nw-line); padding-top: 28px; border-top: 4px double var(--nw-ink); }
.nwal-l-newspaper .nwal-item { break-inside: avoid; margin: 0 0 24px; padding: 0 0 24px; border-bottom: 1px solid var(--nw-line); }
.nwal-l-newspaper .nwal-title { font-family: var(--nwal-serif); font-size: 1.36rem; font-weight: 600; line-height: 1.22; letter-spacing: -.005em; }
.nwal-l-newspaper .nwal-cat { margin-bottom: 8px; font-size: 11px; letter-spacing: .08em; }
.nwal-l-newspaper .nwal-excerpt { color: var(--nw-text); font-family: var(--nw-font-read, var(--nwal-serif)); font-size: 16px; line-height: 1.6; }
.nwal-l-newspaper .nwal-meta { font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.nwal-l-newspaper .nwal-item:first-child { column-span: all; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 36px; align-items: center; margin-bottom: 30px; padding-bottom: 30px; border-bottom: 2px solid var(--nw-ink); }
.nwal-l-newspaper .nwal-item:first-child.no-img { grid-template-columns: minmax(0, 1fr); }
.nwal-l-newspaper .nwal-item:first-child .nwal-media { aspect-ratio: var(--nwal-ratio, 3 / 2); border-radius: 0; }
.nwal-l-newspaper .nwal-item:first-child .nwal-title { font-size: clamp(1.8rem, 4cqi, 2.8rem); line-height: 1.08; }
@container nwal (max-width: 640px) { .nwal-l-newspaper .nwal-item:first-child { grid-template-columns: minmax(0, 1fr); gap: 18px; } }

/* ---------- headlines ---------- */
.nwal-l-headlines .nwal-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 52px; border-top: 2px solid var(--nw-ink); }
.nwal-item.is-num { display: grid; grid-template-columns: 2.4ch minmax(0, 1fr); gap: 18px; align-items: start; padding: 22px 0; border-bottom: 1px solid var(--nw-line); }
.nwal-num { color: var(--nw-ink); font: 600 1.7rem / 1.05 var(--nw-font-head); font-variant-numeric: tabular-nums; letter-spacing: -.03em; }
.nwal-item.is-num .nwal-title { margin: 0 0 8px; font-size: 1.15rem; line-height: 1.3; }
.nwal-item.is-num:first-child .nwal-num { color: var(--nw-accent-text, currentColor); text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: .34em; text-underline-offset: -.2em; text-decoration-skip-ink: none; }
.nwal-sub { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
.nwal-sub .nwal-cat { margin: 0; font-size: 11px; }
.nwal-sub .nwal-meta { font-size: 13px; }
@container nwal (max-width: 680px) { .nwal-l-headlines .nwal-list { grid-template-columns: minmax(0, 1fr); } }

/* ---------- minimal text ---------- */
.nwal-l-minimal .nwal-list { gap: 0; max-width: 940px; margin: 0 auto; border-top: 1px solid var(--nw-ink); }
.nwal-item.is-minimal { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 28px; align-items: baseline; padding: 28px 0; border-bottom: 1px solid var(--nw-line); }
.nwal-date { color: var(--nw-mute); font-size: 13.5px; font-variant-numeric: tabular-nums; }
.nwal-item.is-minimal .nwal-title { margin: 0 0 6px; font-size: clamp(1.25rem, 2.6cqi, 1.75rem); line-height: 1.2; letter-spacing: -.01em; }
.nwal-item.is-minimal .nwal-cat { margin: 0; }
@container nwal (max-width: 600px) { .nwal-item.is-minimal { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 22px 0; } }

/* ---------- bento ---------- */
.nwal-l-bento .nwal-list { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(230px, auto); grid-auto-flow: dense; }
.nwal-l-bento .nwal-v-overlay { aspect-ratio: auto; min-height: 230px; }
.nwal-l-bento .nwal-item:nth-child(8n + 1), .nwal-l-bento .nwal-item:nth-child(8n + 7) { grid-column: span 2; grid-row: span 2; }
.nwal-l-bento .nwal-item:nth-child(8n + 2), .nwal-l-bento .nwal-item:nth-child(8n + 8) { grid-column: span 2; }
.nwal-l-bento .nwal-item:nth-child(8n + 1) .nwal-title, .nwal-l-bento .nwal-item:nth-child(8n + 7) .nwal-title { font-size: clamp(1.4rem, 3cqi, 2.1rem); line-height: 1.15; }
.nwal-l-bento .nwal-item:nth-child(8n + 3) .nwal-title, .nwal-l-bento .nwal-item:nth-child(8n + 4) .nwal-title, .nwal-l-bento .nwal-item:nth-child(8n + 5) .nwal-title, .nwal-l-bento .nwal-item:nth-child(8n + 6) .nwal-title { font-size: 1.06rem; }
.nwal-l-bento .nwal-v-overlay .nwal-body { padding: 20px; }
@container nwal (max-width: 820px) { .nwal-l-bento .nwal-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container nwal (max-width: 540px) {
	.nwal-l-bento .nwal-list { grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; }
	.nwal-l-bento .nwal-item:nth-child(n) { grid-column: auto; grid-row: auto; aspect-ratio: 4 / 3; min-height: 0; }
}

/* ---------- photo tiles ---------- */
.nwal-v-tile { isolation: isolate; overflow: hidden; aspect-ratio: var(--nwal-ratio, 1 / 1); border-radius: var(--nw-radius); background: var(--nw-soft); }
.nwal-r-auto .nwal-v-tile { aspect-ratio: 1 / 1; }
.nwal-v-tile .nwal-media { position: absolute; inset: 0; z-index: -1; }
.nwal-v-tile .nwal-media img { height: 100%; }
.nwal-v-tile .nwal-body { position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 18px 16px; background: linear-gradient(180deg, rgba(10,10,10,0), rgba(10,10,10,.8)); /* black scrim */ opacity: 0; transform: translateY(8px); transition: opacity .6s ease, transform .6s ease; }
.nwal-v-tile:hover .nwal-body, .nwal-v-tile:focus-within .nwal-body, .nwal-v-tile.no-img .nwal-body { opacity: 1; transform: none; }
.nwal-v-tile.no-img .nwal-body { background: none; }
.nwal-v-tile .nwal-title { margin: 0; font-size: 1rem; line-height: 1.3; }
.nwal-v-tile .nwal-title a, .nwal-v-tile .nwal-cat { color: #fff; }
.nwal-v-tile.no-img .nwal-title a { color: var(--nw-ink); }
.nwal-v-tile.no-img .nwal-cat { color: var(--nw-accent-text, currentColor); text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .28em; text-decoration-skip-ink: none; }
.nwal-v-tile .nwal-cat { margin-bottom: 6px; font-size: 10.5px; }
@media (hover: none) { .nwal-v-tile .nwal-body { opacity: 1; transform: none; } }

/* ---------- sticky posts ---------- */
.nwal-item.sticky.nwal-v-card, .nwal-item.sticky.is-small { border-color: var(--nw-ink); }
.nwal-item.sticky .nwal-cat::after { content: ''; display: inline-block; width: 6px; height: 6px; margin-left: 8px; border-radius: 50%; background: currentColor; vertical-align: middle; }

/* ---------- pagination: previous / next, load more ---------- */
.nwal-pn { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--nw-ink); font-weight: 600; }
.nwal-pn a { display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px; border: 1px solid var(--nw-ink); border-radius: 0; color: var(--nw-ink); font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; transition: background .4s ease, color .4s ease; }
.nwal-pn a:hover { background: var(--nw-ink); color: var(--nw-bg, #fff); }
.nwal-pn-next { text-align: right; }
.nwal-pn-where { color: var(--nw-mute); font-size: 13px; font-weight: 500; }
@media (max-width: 560px) { .nwal-pn { grid-template-columns: 1fr 1fr; } .nwal-pn-where { display: none; } .nwal-pn a { padding: 10px 14px; font-size: 14px; } }
.nwal-loadmore { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: 52px; }
.nwal-more { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 30px; border: 1px solid var(--nw-ink); border-radius: 0; background: transparent; color: var(--nw-ink); font-size: 12.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; box-shadow: none; transition: background .4s ease, color .4s ease; }
.nwal-more:hover { background: var(--nw-ink); color: var(--nw-bg, #fff); }
.nwal-more.is-busy { pointer-events: none; color: var(--nw-mute); }
.nwal-more.is-busy::before { content: ''; width: 15px; height: 15px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: nwal-spin .9s linear infinite; }
.nwal-status { min-height: 1.4em; color: var(--nw-mute); font-size: 14px; }
.nwal-status:empty { display: none; }
@keyframes nwal-spin { to { transform: rotate(360deg); } }
.nwal-new { animation: nwal-in 1s cubic-bezier(.22, .61, .36, 1) both; }
@keyframes nwal-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* ---------- extra archive headers (no gradients) ---------- */
.nw-ah-simple { padding: 56px 0 34px; border-bottom: 1px solid var(--nw-ink); }
.nw-ah-simple .nw-ah-title { max-width: 26ch; font-size: clamp(2rem, 4vw, 3.1rem); }
.nw-ah-centered { padding: 76px 0 58px; text-align: center; background: var(--nw-bg); border-top: 3px solid var(--nw-ink); border-bottom: 1px solid var(--nw-ink); }
.nw-ah-centered :is(.nw-crumbs, .nw-ah-stats, .nw-ah-chips) { justify-content: center; }
.nw-ah-centered :is(.nw-ah-title, .nw-ah-desc, .nw-ah-search, .nw-ah-avatar) { margin-left: auto; margin-right: auto; }
.nw-ah-centered .nw-ah-title { max-width: 22ch; font-size: clamp(2.2rem, 5vw, 3.8rem); }
.nw-ah-centered .nw-ah-eyebrow::before { content: none; }
.nw-ah-image { display: flex; align-items: flex-end; min-height: 440px; padding: 130px 0 54px; overflow: hidden; background: #0a0a0a; color: #fff; }
.nw-ah-image .nw-ah-media { position: absolute; inset: 0; z-index: 0; }
.nw-ah-image .nw-ah-media img { width: 100%; height: 100%; object-fit: cover; }
.nw-ah-image .nw-ah-media::after { content: ''; position: absolute; inset: 0; background: rgba(10,10,10,.56); }
.nw-ah-image > .nw-ah-inner { z-index: 1; }
.nw-ah-image .nw-ah-eyebrow, .nw-ah-image .nw-crumbs [aria-current], .nw-ah-image .nw-ah-stats b { color: #fff; }
.nw-ah-image :is(.nw-crumbs, .nw-ah-desc, .nw-ah-stats) { color: rgba(255, 255, 255, .78); }
.nw-ah-image .nw-ah-chip, .nw-ah-dark .nw-ah-chip { border-color: rgba(255, 255, 255, .26); background: transparent; color: #fff; }
.nw-ah-image .nw-ah-chip small, .nw-ah-dark .nw-ah-chip small { color: rgba(255, 255, 255, .62); }
.nw-ah-image .nw-ah-chip:hover, .nw-ah-dark .nw-ah-chip:hover { border-color: #fff; color: #fff; }
.nw-ah-image .nw-ah-chip.is-on, .nw-ah-dark .nw-ah-chip.is-on { border-color: #fff; background: #fff; color: #0a0a0a; }
.nw-ah-image .nw-ah-chip.is-on small, .nw-ah-dark .nw-ah-chip.is-on small { color: #6b6b6b; }
.nw-ah-dark { padding: 76px 0 58px; background: #0a0a0a; color: #fff; border-bottom: 1px solid #262626; }
.nw-ah-dark .nw-ah-eyebrow { color: #FFD60A; }
.nw-ah-dark :is(.nw-crumbs, .nw-ah-desc, .nw-ah-stats) { color: rgba(255, 255, 255, .7); }
.nw-ah-dark .nw-crumbs [aria-current], .nw-ah-dark .nw-ah-stats b, .nw-ah-dark .nw-crumbs a:hover, .nw-ah-dark .nw-ah-rss:hover { color: #fff; }
.nw-ah-dark .nw-ah-avatar { box-shadow: none; }
@media (max-width: 640px) {
	.nw-ah-simple { padding: 40px 0 26px; }
	.nw-ah-centered, .nw-ah-dark { padding: 52px 0 40px; }
	.nw-ah-image { min-height: 360px; padding: 100px 0 38px; }
}

/* ---------- single post: wide image, reading time ---------- */
.nwsp-wide { margin: 0 auto; }
.nwsp-wide img { display: block; width: 100%; height: auto; max-height: 78vh; aspect-ratio: 21 / 9; object-fit: cover; border-radius: var(--nw-radius); box-shadow: none; }
.nw-hero.nw-ph-wide { padding-bottom: 48px; }
@media (max-width: 700px) { .nwsp-wide img { aspect-ratio: 4 / 3; } }

/* ---------- share buttons (plain links) ---------- */
.nwsp-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 32px 0; }
.nwsp-share-top { margin: 0 0 30px; padding-bottom: 22px; border-bottom: 1px solid var(--nw-line); }
.nwsp-share-label { margin-right: 6px; color: var(--nw-mute); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.nwsp-s { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 14px; border-radius: 0; background: transparent; box-shadow: inset 0 0 0 1px var(--nw-line); color: var(--nw-ink); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; line-height: 1; text-decoration: none; transition: background .45s ease, color .45s ease, box-shadow .45s ease; }
.nwsp-s svg { flex: none; }
.nwsp-s:hover, .nwsp-s:focus-visible { background: var(--nw-ink); color: var(--nw-bg, #fff); box-shadow: inset 0 0 0 1px var(--nw-ink); }
.nwsp-s.is-copied { background: var(--nw-ink); color: var(--nw-bg, #fff); box-shadow: inset 0 -2px 0 var(--nw-accent); }
.nwsp-ss-outline .nwsp-s { background: transparent; box-shadow: inset 0 0 0 1px var(--nw-line); }
.nwsp-ss-outline .nwsp-s:hover { box-shadow: inset 0 0 0 1px var(--nw-ink); }
.nwsp-ss-icons .nwsp-s, .nwsp-share-sticky .nwsp-s { justify-content: center; width: 40px; height: 40px; padding: 0; }
.nwsp-ss-icons .nwsp-s-t, .nwsp-share-sticky .nwsp-s-t { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.nwsp-share-sticky { position: fixed; left: 22px; top: 50%; z-index: 60; flex-direction: column; flex-wrap: nowrap; gap: 6px; margin: 0; padding: 6px; border: 1px solid var(--nw-ink); border-radius: 0; background: var(--nw-bg, #fff); box-shadow: none; opacity: 0; visibility: hidden; transform: translate(-8px, -50%); transition: opacity .7s ease, visibility .7s, transform .7s cubic-bezier(.22, .61, .36, 1); }
.nwsp-share-sticky.is-on { opacity: 1; visibility: visible; transform: translate(0, -50%); }
.nwsp-share-sticky .nwsp-s { background: transparent; box-shadow: none; }
.nwsp-share-sticky .nwsp-s:hover { background: var(--nw-ink); color: var(--nw-bg, #fff); }
@media (max-width: 1299px) { .nwsp-share-sticky { display: none; } }

/* ---------- related posts ---------- */
.nwsp-related { margin: 56px 0 8px; padding-top: 16px; border-top: 3px solid var(--nw-ink); }
.nwsp-related-title { margin: 0 0 22px; font-family: var(--nw-font); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.nwsp-related-list { display: grid; gap: 22px; }
.nwsp-rel-cards .nwsp-related-list { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.nwsp-rel { min-width: 0; }
.nwsp-rel-img { display: block; overflow: hidden; border-radius: var(--nw-radius); background: var(--nw-soft); }
.nwsp-rel-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.nwsp-rel:hover .nwsp-rel-img img { transform: scale(1.03); }
.nwsp-rel-cards .nwsp-rel-img { aspect-ratio: 16 / 10; margin-bottom: 14px; }
.nwsp-rel-cat { color: var(--nw-accent-text, currentColor); font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .28em; text-decoration-skip-ink: none; }
.nwsp-rel-t { margin: 6px 0 6px; font-size: 1.1rem; font-weight: 600; line-height: 1.3; }
.nwsp-rel-t a { color: var(--nw-ink); text-decoration: none; transition: color .45s ease; }
.nwsp-rel-t a:hover { text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .2em; }
.nwsp-rel-d { color: var(--nw-mute); font-size: 13px; }
.nwsp-rel-list .nwsp-related-list { gap: 16px; }
.nwsp-rel-list .nwsp-rel { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 16px; align-items: center; }
.nwsp-rel-list .nwsp-rel.no-img { grid-template-columns: minmax(0, 1fr); }
.nwsp-rel-list .nwsp-rel-img { aspect-ratio: 1 / 1; }
.nwsp-rel-minimal .nwsp-related-list { gap: 0; border-top: 0; }
.nwsp-rel-minimal .nwsp-rel { padding: 16px 0; border-bottom: 1px solid var(--nw-line); }

/* ---------- previous / next: cards, minimal ---------- */
.nwsp-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 48px 0; }
.nwsp-nav > a { display: flex; align-items: center; gap: 16px; min-width: 0; padding: 14px; border: 1px solid var(--nw-line); border-radius: 0; color: var(--nw-ink); text-decoration: none; transition: border-color .45s ease; }
.nwsp-nav > a:hover { border-color: var(--nw-ink); }
.nwsp-nav > a:hover .nwsp-nav-txt b { text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .2em; }
.nwsp-nav .nwsp-nav-next { flex-direction: row-reverse; text-align: right; }
.nwsp-nav-img { flex: 0 0 78px; aspect-ratio: 1 / 1; overflow: hidden; border-radius: var(--nw-radius); }
.nwsp-nav-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nwsp-nav-txt { min-width: 0; }
.nwsp-nav-txt small { display: block; margin-bottom: 4px; color: var(--nw-mute); font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.nwsp-nav-txt b { display: block; font-family: var(--nw-font-head); font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; transition: color .45s ease; }
.nwsp-nav-minimal { gap: 0; padding: 4px 0; border-top: 1px solid var(--nw-ink); border-bottom: 1px solid var(--nw-ink); }
.nwsp-nav-minimal > a { padding: 20px 4px; border: 0; border-radius: 0; }
.nwsp-nav-minimal > a:hover { color: var(--nw-ink); }
.nwsp-nav-minimal .nwsp-nav-txt b { font-family: var(--nw-font-head); font-size: 1.12rem; letter-spacing: -.01em; }
@media (max-width: 600px) { .nwsp-nav { grid-template-columns: minmax(0, 1fr); } .nwsp-nav .nwsp-nav-next { flex-direction: row; text-align: left; } .nwsp-nav-gap { display: none; } }

/* ---------- dark mode (NewsOn Dark Mode Toggle, palette mode) ---------- */
html.nwdm-m-palette.nwdm-dark :is(.nwal, .nw-ah-simple, .nw-ah-centered, .nwsp-related, .nwsp-share, .nwsp-nav, .nwal-loadmore, .nwal-pn) { --nw-ink: #f5f5f4; --nw-text: #d6d3d1; --nw-mute: #a3a3a3; --nw-line: #262626; --nw-soft: #141414; --nw-bg: #0a0a0a; --nwal-card: #171717; }
html.nwdm-m-palette.nwdm-dark .nwal-cs-glass :is(.nwal-v-card, .nwal-v-row.is-small) { background: #171717; border-color: #262626; }

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	.nwal-new { animation: none; }
	.nwal-more.is-busy::before { animation: none; }
	.nwal-item:hover .nwal-media img, .nwsp-rel:hover .nwsp-rel-img img { transform: none; }
	.nwsp-s:hover { transform: none; }
}

/* photo tiles without a photo: the letter sits top-left so the title below stays clear */
.nwal-v-tile.no-img .nwal-ph { place-items: start; padding: 16px 18px; }
.nwal-v-tile.no-img .nwal-ph b { font-size: clamp(2rem, 6cqi, 3.4rem); }
.nwal-v-tile.no-img .nwal-ph small { display: none; }
.nwal-v-tile.no-img .nwal-body { padding-top: 12px; }

/* motion.css */
/* NewsOn theme — animation helpers (GSAP + Motion) */

/* reading progress bar */
.nw-progress { position: fixed; left: 0; right: 0; top: 0; z-index: 100001; height: 3px; pointer-events: none; opacity: 0; transition: opacity .6s ease; }
.admin-bar .nw-progress { top: 32px; }
@media (max-width: 782px) { .admin-bar .nw-progress { top: 46px; } }
.nw-progress.is-on { opacity: 1; }
.nw-progress i { display: block; height: 100%; background: var(--nw-accent); transform-origin: left; transform: scaleX(0); border-radius: 0; }

/* split headings */
.nw-line { padding-bottom: .06em; margin-bottom: -.06em; }
.nw-404-code.is-split { background: none !important; -webkit-background-clip: border-box; background-clip: border-box; color: inherit; }
.nw-404-ch { display: inline-block; color: var(--nw-ink); padding: 0 .02em; }
.nw-404-code { will-change: transform; }

/* springy cards: Motion drives the transform, so CSS only eases the shadow */
.nw-mo-cards .nw-cards .nw-card, .nw-mo-cards .nw-cards .nw-lead { transition: box-shadow .45s ease; transform-style: preserve-3d; will-change: transform; }
.nw-mo-cards .nw-cards .nw-card:hover { transform: none; }

/* back to top progress ring */
.nw-to-top .nw-ring { position: absolute; inset: -4px; width: calc(100% + 8px); height: calc(100% + 8px); transform: rotate(-90deg); pointer-events: none; }
.nw-to-top .nw-ring circle { fill: none; stroke: var(--nw-accent); stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; }
.nw-to-top:hover .nw-ring circle { stroke: var(--nw-accent); }

/* page transitions: leaving (cover added by JS) */
.nw-pt { position: fixed; inset: 0; z-index: 2147483000; pointer-events: all; }
.nw-pt-curtain { background: #0a0a0a; clip-path: inset(100% 0% 0% 0%); }
.nw-pt-fade { background: var(--nw-bg, #fff); opacity: 0; }
/* page transitions: arriving (pure CSS, removes itself) */
html.nw-pt-in body::after { content: ""; position: fixed; inset: 0; z-index: 2147483000; pointer-events: none; }
html.nw-pt-in.nw-pti-curtain body::after { background: #0a0a0a; animation: nw-pt-up .75s .05s cubic-bezier(.7, 0, .3, 1) both; }
html.nw-pt-in.nw-pti-fade body::after { background: var(--nw-bg, #fff); animation: nw-pt-fade .5s .05s ease-out both; }
@keyframes nw-pt-up { from { clip-path: inset(0% 0% 0% 0%); } to { clip-path: inset(0% 0% 100% 0%); visibility: hidden; } }
@keyframes nw-pt-fade { from { opacity: 1; } to { opacity: 0; visibility: hidden; } }

@media (prefers-reduced-motion: reduce) {
	.nw-progress i { transition: none; }
	html.nw-pt-in body::after { display: none; }
}

/* blocks.css */
/* =========================================================================
   NewsOn — core blocks, block styles, block patterns and post formats.
   Everything is scoped to post content (.entry-content) or to block / format classes,
   so pages built with Elementor never change. The editor loads this same file with
   ".entry-content" swapped for the editor's root block list (inc/gutenberg.php).
   ========================================================================= */

/* palette + gradients follow the live theme colors (Theme Options / starter site) */
html body {
	--wp--preset--color--nw-accent: var(--nw-accent);
	--wp--preset--color--nw-accent-2: var(--nw-accent-2);
	--wp--preset--color--nw-ink: var(--nw-ink);
	--wp--preset--color--nw-text: var(--nw-text);
	--wp--preset--gradient--nw-brand: var(--nw-ink); /* B&W: preset key kept, renders flat ink */
	--wp--preset--gradient--nw-glow: var(--nw-soft); /* B&W: flat tint band */
}

/* ---------- text ---------- */
.entry-content > :is(ul, ol), .entry-content .wp-block-list { padding-left: 1.4em; margin: 0 0 1.4em; }
.entry-content > :is(ul, ol) li, .entry-content .wp-block-list li { margin-top: .4em; margin-bottom: .4em; padding-left: .2em; }
.entry-content > ul li::marker, .entry-content ul.wp-block-list li::marker { color: var(--nw-accent-text, currentColor); }
.entry-content > ol li::marker, .entry-content ol.wp-block-list li::marker { color: var(--nw-accent-text, currentColor); font-weight: 700; }
.entry-content :is(ul, ol) :is(ul, ol) { margin: .3em 0 .5em; }
.entry-content > dl dt { color: var(--nw-ink); font-weight: 700; margin-top: .8em; }
.entry-content > dl dd { margin: .2em 0 .6em 1.2em; }
.entry-content > :is(p, ul, ol, dl, table) :is(abbr, acronym)[title] { text-decoration: underline dotted; text-underline-offset: 3px; cursor: help; }
.entry-content > :is(p, ul, ol) kbd, .entry-content .wp-block-paragraph kbd { padding: .12em .45em; border: 1px solid var(--nw-line); border-bottom-width: 2px; border-radius: 0; background: #fff; color: var(--nw-ink); }
.entry-content > :is(p, ul, ol) mark:not(.has-inline-color) { padding: 0 .2em; border-radius: 0; background: #ececec; color: var(--nw-ink); }
.entry-content > :is(p, ul, ol) ins { background: none; text-decoration: underline; text-decoration-color: var(--nw-accent); text-underline-offset: 3px; }
.entry-content > address { margin: 0 0 1.4em; font-style: normal; padding-left: 14px; border-left: 3px solid var(--nw-line); }
.entry-content .has-small-font-size { line-height: 1.6; }
.entry-content :is(.has-large-font-size, .has-x-large-font-size, .has-huge-font-size) { line-height: 1.3; }
.entry-content p.has-background { padding: 1.1em 1.4em; border-radius: var(--nw-radius); }
.entry-content :is(h1, h2, h3, h4, h5, h6).has-background { padding: .5em .8em; border-radius: var(--nw-radius); }

/* ---------- quotes ---------- */
.entry-content .wp-block-quote { position: relative; }
.entry-content .wp-block-quote p:last-of-type { margin-bottom: 0; }
.entry-content :is(.wp-block-quote, blockquote) cite, .entry-content .wp-block-quote .wp-block-quote__citation { display: block; margin-top: 12px; color: var(--nw-mute); font-size: 14px; font-style: normal; font-weight: 600; letter-spacing: .01em; }
.entry-content :is(.wp-block-quote, blockquote) cite::before { content: "— "; color: var(--nw-accent-text, currentColor); }
.entry-content .wp-block-quote.is-style-large, .entry-content .wp-block-quote.is-large { padding: 1.6em 2em; font-size: 1.35em; line-height: 1.5; font-family: var(--nw-font-head); font-weight: 600; letter-spacing: -.01em; }
.entry-content .wp-block-quote.is-style-plain { padding: 0 0 0 1.2em; background: none; border-left-width: 2px; border-radius: 0; }
.entry-content .wp-block-quote.has-text-align-center { border-left: 0; border-top: 3px solid var(--nw-ink); border-radius: 0; text-align: center; }
.entry-content .wp-block-quote.has-text-align-right { border-left: 0; border-right: 3px solid var(--nw-ink); border-radius: 0; }

.entry-content .wp-block-pullquote { position: relative; margin-top: 2.6em; margin-bottom: 2.6em; padding: 2.4em 2em 2em; border: 0; border-top: 1px solid var(--nw-ink); border-bottom: 1px solid var(--nw-ink); border-radius: 0; background: none; text-align: left; color: var(--nw-ink); }
.entry-content .wp-block-pullquote::before { content: ""; position: absolute; top: -1px; left: 0; width: 60px; height: 3px; border-radius: 0; background: var(--nw-accent); }
.entry-content .wp-block-pullquote blockquote { margin: 0; padding: 0; border: 0; background: none; border-radius: 0; color: inherit; font-size: inherit; }
.entry-content .wp-block-pullquote p { font-family: var(--nw-font-head); font-size: clamp(1.3rem, 2.2vw, 1.65rem); font-weight: 700; line-height: 1.4; letter-spacing: -.015em; }
.entry-content .wp-block-pullquote cite { text-transform: uppercase; letter-spacing: .1em; font-size: 12px; }
.entry-content .wp-block-pullquote cite::before { content: none; }
.entry-content .wp-block-pullquote.has-background { background-image: none; }
.entry-content .wp-block-pullquote.has-text-color { color: inherit; }
.entry-content .wp-block-pullquote.alignleft, .entry-content .wp-block-pullquote.alignright { max-width: 320px; padding: 1.6em 1.4em; }
.entry-content .wp-block-pullquote.alignleft p, .entry-content .wp-block-pullquote.alignright p { font-size: 1.15rem; }

/* ---------- code ---------- */
.entry-content .wp-block-code { border: 0; padding: 1.2em 1.4em; border-radius: 0; background: #0a0a0a; color: #e5e5e5; font-size: .88em; line-height: 1.65; box-shadow: none; }
.entry-content .wp-block-code code { padding: 0; background: none; color: inherit; font-size: inherit; white-space: pre; }
.entry-content .wp-block-preformatted { white-space: pre-wrap; }
.entry-content .wp-block-verse { padding: 1.4em 1.6em; border-left: 3px solid var(--nw-ink); border-radius: 0; background: var(--nw-soft); color: var(--nw-ink); font-family: var(--nw-font-head); font-size: 1.05em; line-height: 1.8; white-space: pre-wrap; overflow-wrap: break-word; }

/* ---------- tables ---------- */
.entry-content .wp-block-table { margin-top: 2em; margin-bottom: 2em; overflow-x: auto; }
.entry-content .wp-block-table table { margin: 0; border: 1px solid var(--nw-line); border-collapse: separate; border-spacing: 0; border-radius: 0; overflow: hidden; font-size: .95em; }
.entry-content .wp-block-table :is(th, td) { border: 0; border-bottom: 1px solid var(--nw-line); padding: .8em 1em; }
.entry-content .wp-block-table tr:last-child td { border-bottom: 0; }
.entry-content .wp-block-table thead { border: 0; }
.entry-content .wp-block-table thead th, .entry-content > table th { background: var(--nw-soft); color: var(--nw-ink); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; border-bottom: 1px solid var(--nw-ink); }
.entry-content .wp-block-table tfoot td { border-top: 1px solid var(--nw-line); background: var(--nw-soft); font-weight: 700; color: var(--nw-ink); }
.entry-content .wp-block-table.is-style-stripes { border-bottom: 0; }
.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: var(--nw-soft); }
.entry-content .wp-block-table.is-style-stripes :is(th, td) { border-bottom: 0; }
.entry-content .wp-block-table figcaption { margin-top: 10px; }
.entry-content > table { display: block; overflow-x: auto; }

/* ---------- buttons ---------- */
.entry-content .wp-block-buttons { margin-top: 1.6em; margin-bottom: 1.6em; gap: 12px; }
.entry-content .wp-block-button__link { border-radius: 0; box-shadow: none; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; transition: background-color .35s ease, color .35s ease, border-color .35s ease; }
.entry-content .wp-block-button:not(.is-style-outline):not(.is-style-nwgb-outline-soft) > .wp-block-button__link:not(.has-background) { background: var(--nw-ink); color: #fff; }
.entry-content .wp-block-button:not(.is-style-outline):not(.is-style-nwgb-outline-soft) > .wp-block-button__link:not(.has-background):hover { background: var(--nw-accent); color: var(--nw-accent-ink, #0a0a0a); }
.entry-content .wp-block-button__link.has-background { background-image: none; }
.entry-content .wp-block-button.is-style-outline > .wp-block-button__link, .entry-content .wp-block-button__link.is-style-outline { background: transparent; border: 1px solid var(--nw-ink); box-shadow: none; color: var(--nw-ink) !important; }
.entry-content .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):hover { background: var(--nw-ink); color: #fff !important; }
.entry-content .wp-block-button.is-style-outline > .wp-block-button__link.has-text-color { color: inherit !important; }
.entry-content .wp-block-button.is-style-squared > .wp-block-button__link { border-radius: 0; }
.entry-content .wp-block-button.has-custom-width > .wp-block-button__link { display: flex; }
.entry-content .wp-block-button.has-custom-font-size > .wp-block-button__link { font-size: inherit; }

/* ---------- images, galleries, media ---------- */
.entry-content .wp-block-image.alignleft, .entry-content .wp-block-image.alignright { max-width: 50%; }
.entry-content .wp-block-image :is(.alignleft, .alignright, .aligncenter) img, .entry-content .wp-block-image:is(.alignleft, .alignright, .aligncenter) img { width: auto; max-width: 100%; }
.entry-content .wp-block-image.is-style-rounded img { border-radius: 9999px; }
.entry-content .wp-caption { max-width: 100%; }
.entry-content .wp-caption img { display: block; max-width: 100%; height: auto; border-radius: var(--nw-radius); }
.entry-content .wp-block-gallery { margin-top: 2em; margin-bottom: 2em; }
.entry-content .wp-block-gallery figure.wp-block-image { margin: 0; }
.entry-content .wp-block-gallery figure.wp-block-image img { border-radius: var(--nw-radius); }
.entry-content .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { border-radius: 0; font-size: 13px; }
.entry-content .wp-block-gallery > .blocks-gallery-caption { margin-top: 12px; }
.entry-content .wp-block-media-text { margin-top: 2.2em; margin-bottom: 2.2em; gap: 0; border-radius: var(--nw-radius); overflow: hidden; }
.entry-content .wp-block-media-text .wp-block-media-text__media img { border-radius: 0; }
.entry-content .wp-block-media-text:not(.has-background) .wp-block-media-text__media img { border-radius: var(--nw-radius); }
.entry-content .wp-block-media-text .wp-block-media-text__content { padding: 0 6%; }
.entry-content .wp-block-media-text .wp-block-media-text__content > :first-child { margin-top: 0; }
.entry-content .wp-block-video video, .entry-content .wp-block-embed.is-type-video .wp-block-embed__wrapper { border-radius: var(--nw-radius); overflow: hidden; }
.entry-content .wp-block-video, .entry-content .wp-block-embed, .entry-content .wp-block-audio { margin-top: 2em; margin-bottom: 2em; }
.entry-content .wp-block-audio audio { width: 100%; }
.entry-content .wp-block-embed figcaption, .entry-content .wp-block-video figcaption, .entry-content .wp-block-audio figcaption { margin-top: 10px; }
.entry-content > p > iframe, .entry-content .wp-block-embed iframe { max-width: 100%; }
.entry-content .wp-block-file { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px 16px 22px; border: 1px solid var(--nw-line); border-radius: var(--nw-radius); background: #fff; }
.entry-content .wp-block-file > a:not(.wp-block-file__button) { color: var(--nw-ink); font-weight: 700; text-decoration: none; }
.entry-content .wp-block-file .wp-block-file__button { min-height: 40px; padding: 0 18px; font-size: 14px; }
.entry-content .wp-block-file .wp-block-file__embed { margin-bottom: 0; border-radius: 0; }

/* ---------- cover ---------- */
.entry-content .wp-block-cover, .entry-content .wp-block-cover-image { margin-top: 2.2em; margin-bottom: 2.2em; border-radius: var(--nw-radius); overflow: hidden; padding: 2.4em; }
.entry-content .wp-block-cover.alignfull, .entry-content .wp-block-cover-image.alignfull { border-radius: 0; }
.entry-content .wp-block-cover:not(.is-light) .wp-block-cover__inner-container :where(h1, h2, h3, h4, h5, h6, p, a, cite) { color: inherit; }
.entry-content .wp-block-cover.is-light .wp-block-cover__inner-container :where(h1, h2, h3, h4, h5, h6) { color: var(--nw-ink); }
.entry-content .wp-block-cover .wp-block-cover__inner-container > :first-child { margin-top: 0; }
.entry-content .wp-block-cover .wp-block-cover__inner-container > :last-child { margin-bottom: 0; }
.entry-content .wp-block-cover p.has-large-font-size, .entry-content .wp-block-cover p.has-x-large-font-size { font-family: var(--nw-font-head); font-weight: 800; letter-spacing: -.015em; }

/* ---------- layout ---------- */
.entry-content .wp-block-columns { margin-top: 2em; margin-bottom: 2em; gap: 2em; }
.entry-content .wp-block-column > :first-child { margin-top: 0; }
.entry-content .wp-block-column > :last-child { margin-bottom: 0; }
.entry-content .wp-block-columns.has-background { padding: 2em 2.2em; border-radius: var(--nw-radius); }
.entry-content .wp-block-column.has-background { padding: 1.6em; border-radius: var(--nw-radius); }
.entry-content .wp-block-group { margin-top: 2em; margin-bottom: 2em; }
.entry-content .wp-block-group > :first-child { margin-top: 0; }
.entry-content .wp-block-group > :last-child { margin-bottom: 0; }
.entry-content .wp-block-group.has-background { padding: 2em 2.2em; border-radius: var(--nw-radius); }
.entry-content .wp-block-group.alignfull.has-background { border-radius: 0; }
.entry-content .wp-block-group :is(.wp-block-group, .wp-block-columns) { margin-top: 0; }
.entry-content .wp-block-separator { margin-top: 2.6em; margin-bottom: 2.6em; border: 0; border-top: 1px solid var(--nw-line); opacity: 1; }
.entry-content .wp-block-separator:not(.is-style-wide):not(.is-style-dots):not(.is-style-nwgb-gradient):not(.alignwide):not(.alignfull) { width: 96px; margin-left: auto; margin-right: auto; border-top-width: 3px; border-radius: 0; border-color: var(--nw-ink); }
.entry-content .wp-block-separator.is-style-wide { width: 100%; }
.entry-content .wp-block-separator.is-style-dots { border: 0; background: none; color: var(--nw-ink); }
.entry-content .wp-block-separator.is-style-dots::before { font-size: 26px; letter-spacing: 1.6em; padding-left: 1.6em; }
.entry-content .wp-block-separator.has-background:not(.is-style-dots) { height: 2px; border: 0; }
.entry-content .wp-block-spacer { margin: 0; }
.entry-content .wp-block-details { margin: 1em 0; padding: 0; border: 0; border-top: 1px solid var(--nw-line); border-bottom: 1px solid var(--nw-line); border-radius: 0; background: #fff; transition: border-color .5s ease; }
.entry-content .wp-block-details[open] { border-color: var(--nw-ink); box-shadow: none; }
.entry-content .wp-block-details summary { position: relative; padding: 16px 52px 16px 0; color: var(--nw-ink); font-weight: 700; cursor: pointer; list-style: none; }
.entry-content .wp-block-details summary::-webkit-details-marker { display: none; }
.entry-content .wp-block-details summary::after { content: "+"; position: absolute; top: 50%; right: 18px; display: grid; place-items: center; width: 26px; height: 26px; margin-top: -13px; border-radius: 0; background: none; color: var(--nw-accent-text, currentColor); font-size: 20px; font-weight: 600; line-height: 1; transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.entry-content .wp-block-details[open] summary::after { transform: rotate(45deg); }
.entry-content .wp-block-details > :not(summary) { margin-left: 0; margin-right: 0; }
.entry-content .wp-block-details > :last-child:not(summary) { margin-bottom: 18px; }

/* ---------- widgets inside posts ---------- */
.entry-content :is(.wp-block-latest-posts, .wp-block-archives, .wp-block-categories, .wp-block-page-list, .wp-block-rss, .wp-block-latest-comments) { padding-left: 0; list-style: none; }
.entry-content :is(.wp-block-latest-posts, .wp-block-archives, .wp-block-categories-list, .wp-block-rss) > li { padding: 8px 0; border-bottom: 1px solid #ececec; margin: 0; }
.entry-content .wp-block-latest-posts > li > a, .entry-content .wp-block-rss__item-title a { color: var(--nw-ink); font-weight: 700; text-decoration: none; }
.entry-content .wp-block-latest-posts.is-grid > li { border: 0; border-top: 1px solid var(--nw-ink); border-radius: 0; padding: 14px 0 0; }
.entry-content :is(.wp-block-latest-posts__post-date, .wp-block-latest-posts__post-author, .wp-block-rss__item-publish-date) { color: var(--nw-mute); font-size: 13px; }
.entry-content .wp-block-search__inside-wrapper { gap: 8px; }
.entry-content .wp-block-search__input { border-radius: 0; padding-left: 14px; }
.entry-content .wp-block-search__button { margin-left: 0; }
.entry-content .wp-block-tag-cloud a { display: inline-block; margin: 0 4px 8px 0; padding: 5px 10px; border: 1px solid var(--nw-line); border-radius: 0; background: none; color: var(--nw-ink); text-decoration: none; font-size: 12px !important; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; transition: border-color .3s ease, color .3s ease; }
.entry-content .wp-block-tag-cloud a:hover { border-color: var(--nw-ink); text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .2em; }
.entry-content .wp-block-calendar table { border: 1px solid var(--nw-line); border-radius: 0; }
.entry-content .wp-block-calendar :is(th, td) { text-align: center; padding: .5em; }
.entry-content .wp-block-footnotes { margin-top: 3em; padding-top: 1.4em; border-top: 1px solid var(--nw-line); font-size: 14px; color: var(--nw-mute); }

/* =========================================================================
   Block styles (Styles panel in the editor)
   ========================================================================= */
/* "Gradient" style key kept for saved content; B&W renders it as the solid ink button */
.wp-block-button.is-style-nwgb-gradient > .wp-block-button__link { background: var(--nw-ink); color: #fff; border-radius: 0; box-shadow: none; transition: background-color .35s ease; }
.wp-block-button.is-style-nwgb-gradient > .wp-block-button__link:hover { background: var(--nw-accent); }
.wp-block-button.is-style-nwgb-outline-soft > .wp-block-button__link { background: transparent; border: 1px solid var(--nw-ink); border-radius: 0; box-shadow: none; color: var(--nw-ink) !important; transition: background-color .35s ease, color .35s ease; }
.wp-block-button.is-style-nwgb-outline-soft > .wp-block-button__link:hover { background: var(--nw-ink); color: #fff !important; filter: none; }

.wp-block-image.is-style-nwgb-rounded img { border-radius: var(--nw-radius) !important; }
.wp-block-image.is-style-nwgb-shadow img { border-radius: var(--nw-radius); box-shadow: none; outline: 1px solid var(--nw-ink); outline-offset: 6px; }

.wp-block-quote.is-style-nwgb-accent { position: relative; padding: .4em 0 .4em 1.6em; border: 0; border-radius: 0; background: none; font-family: var(--nw-font-head); font-size: 1.3em; font-weight: 600; line-height: 1.5; letter-spacing: -.01em; color: var(--nw-ink); }
.wp-block-quote.is-style-nwgb-accent::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 3px; border-radius: 0; background: var(--nw-accent); }
.wp-block-quote.is-style-nwgb-accent cite { font-family: var(--nw-font); font-size: 13px; }

.wp-block-group.is-style-nwgb-card { padding: 2em 2.2em; border: 1px solid var(--nw-ink); border-radius: var(--nw-radius); background-color: #fff; box-shadow: none; }
.wp-block-group.is-style-nwgb-card > :first-child { margin-top: 0; }
.wp-block-group.is-style-nwgb-card > :last-child { margin-bottom: 0; }

/* "Gradient" separator key kept; B&W = 3px ink rule with a red 60px tick */
.wp-block-separator.is-style-nwgb-gradient { position: relative; width: 100%; height: 3px; border: 0 !important; border-radius: 0; background: var(--nw-ink) !important; opacity: 1; overflow: visible; }
.wp-block-separator.is-style-nwgb-gradient::before { content: ""; position: absolute; left: 0; top: 0; width: 60px; height: 3px; background: var(--nw-accent); }

.wp-block-list.is-style-nwgb-check, ul.is-style-nwgb-check { padding-left: 0 !important; list-style: none; }
.is-style-nwgb-check > li { position: relative; padding-left: 32px !important; }
.is-style-nwgb-check > li::before { content: ""; position: absolute; left: 0; top: .28em; width: 20px; height: 20px; border-radius: 50%; background: #ececec url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23171717' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center / 12px no-repeat; }

/* =========================================================================
   Block patterns (Patterns → NewsOn). Classes start with nwgb-.
   ========================================================================= */
.entry-content .nwgb-eyebrow, .nwgb-eyebrow { display: inline-block; margin-bottom: 14px; padding: 0; border-radius: 0; background: none; color: var(--nw-accent-text, currentColor); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; box-shadow: none; text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .28em; text-decoration-skip-ink: none; }
.nwgb-muted { color: var(--nw-mute); }

/* hero */
.wp-block-group.nwgb-hero { position: relative; padding: clamp(48px, 7vw, 88px) clamp(24px, 5vw, 64px); border-top: 3px solid var(--nw-ink); border-bottom: 1px solid var(--nw-ink); border-radius: 0; background: #fff; text-align: left; overflow: hidden; }
.nwgb-hero h2 { margin: 0 0 14px; max-width: 760px; font-size: clamp(2rem, 4.4vw, 3.2rem); line-height: 1.08; letter-spacing: -.03em; }
.nwgb-hero h2 em { font-style: italic; color: var(--nw-ink); }
.nwgb-hero .nwgb-lead { max-width: 620px; margin: 0 0 26px; color: var(--nw-mute); font-size: 1.12rem; }
.nwgb-hero .wp-block-buttons { justify-content: flex-start; margin: 0 0 18px; }
.nwgb-hero .nwgb-note { margin: 0; color: var(--nw-mute); font-size: 13.5px; }

/* section heading */
.nwgb-head { max-width: none; margin: 0 0 32px; padding-bottom: 14px; border-bottom: 1px solid var(--nw-ink); text-align: left; }
.nwgb-head h2 { margin: 0 0 10px; }
.nwgb-head p { margin: 0; color: var(--nw-mute); }

/* features */
.wp-block-columns.nwgb-features { gap: 22px; }
.nwgb-features .wp-block-column { padding: 22px 0 0; border: 0; border-top: 1px solid var(--nw-ink); border-radius: 0; background: none; box-shadow: none; transition: border-color .5s ease; }
.nwgb-features .wp-block-column:hover { border-top-color: var(--nw-accent); }
.nwgb-features h3 { margin: 0 0 8px; font-size: 1.18rem; }
.nwgb-features p { margin: 0; font-size: .97em; }
.nwgb-features .nwgb-icon { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 0 18px; border-radius: 0; background: var(--nw-ink); color: #fff; font: 700 15px/1 var(--nw-font-head); letter-spacing: .02em; box-shadow: none; }

/* call to action */
.wp-block-group.nwgb-cta { padding: clamp(36px, 5vw, 56px) clamp(24px, 5vw, 56px); border-radius: 0; border-top: 3px solid var(--nw-accent); background: #0a0a0a; color: #fff; box-shadow: none; }
.wp-block-group.nwgb-cta :where(h2, h3, p, a) { color: #fff; }
.nwgb-cta h2 { margin: 0 0 8px; font-size: clamp(1.5rem, 2.8vw, 2.1rem); }
.nwgb-cta p { margin: 0; opacity: .92; }
.nwgb-cta .wp-block-columns { margin: 0; align-items: center !important; }
.nwgb-cta .wp-block-buttons { margin: 0; justify-content: flex-end; }
.nwgb-cta .wp-block-button__link, .nwgb-btn-light .wp-block-button__link { background: #fff; color: var(--nw-ink) !important; box-shadow: none; }
.nwgb-cta .wp-block-button__link:hover, .nwgb-btn-light .wp-block-button__link:hover { background: var(--nw-accent); color: var(--nw-accent-ink, #0a0a0a) !important; }
@media (max-width: 781px) { .nwgb-cta .wp-block-buttons { justify-content: flex-start; } }

/* pricing */
.wp-block-columns.nwgb-pricing { gap: 22px; align-items: stretch; }
.nwgb-pricing .wp-block-column { position: relative; display: flex; flex-direction: column; padding: 30px 28px; border: 1px solid var(--nw-line); border-radius: 0; background: #fff; box-shadow: none; }
.nwgb-pricing .wp-block-column > .wp-block-buttons { margin-top: auto; margin-bottom: 0; }
.nwgb-pricing .wp-block-button, .nwgb-pricing .wp-block-button__link { width: 100%; }
.nwgb-pricing h3 { margin: 0 0 4px; font-size: 1.1rem; }
.nwgb-pricing .nwgb-price { margin: 14px 0 4px; color: var(--nw-ink); font: 700 2.6rem/1 var(--nw-font-head); letter-spacing: -.03em; }
.nwgb-pricing .nwgb-price sub, .nwgb-pricing .nwgb-per { color: var(--nw-mute); font-size: 14px; font-weight: 600; letter-spacing: 0; }
.nwgb-pricing .nwgb-per { margin: 0 0 18px; }
.nwgb-pricing ul { margin: 0 0 24px; font-size: .96em; }
.nwgb-pricing .wp-block-column.nwgb-featured { background: #fff; border: 2px solid var(--nw-ink); box-shadow: none; }
.nwgb-pricing .nwgb-flag { position: absolute; top: -13px; left: 28px; margin: 0; padding: 4px 8px; border-radius: 0; background: var(--nw-ink); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

/* testimonial */
.wp-block-group.nwgb-testimonial { position: relative; padding: clamp(32px, 5vw, 52px); border-top: 1px solid var(--nw-ink); border-bottom: 1px solid var(--nw-ink); border-radius: 0; background: none; text-align: center; }
.nwgb-testimonial::before { content: "\201C"; display: block; height: 52px; margin-bottom: 8px; font: 700 96px/1 var(--nw-font-head); color: var(--nw-accent-text, currentColor); }
.nwgb-testimonial .nwgb-quote { max-width: 680px; margin: 0 auto 22px; color: var(--nw-ink); font: 600 clamp(1.15rem, 2vw, 1.4rem)/1.5 var(--nw-font-head); letter-spacing: -.01em; }
.nwgb-testimonial .nwgb-stars { margin: 0 0 14px; color: var(--nw-ink); letter-spacing: .2em; font-size: 15px; }
.nwgb-testimonial .wp-block-image { margin: 0 auto 10px; }
.nwgb-testimonial .nwgb-name { margin: 0; color: var(--nw-ink); font-weight: 800; }
.nwgb-testimonial .nwgb-role { margin: 0; color: var(--nw-mute); font-size: 14px; }
.wp-block-image.nwgb-avatar, .entry-content figure.wp-block-image.nwgb-avatar { width: 64px; margin: 0 auto 12px; }
.wp-block-image.nwgb-avatar img { width: 64px; height: 64px; border-radius: 50% !important; object-fit: cover; box-shadow: none; }

/* FAQ */
.nwgb-faq .wp-block-details { margin: 0 0 10px; }

/* team */
.wp-block-columns.nwgb-team { gap: 20px; }
.nwgb-team .wp-block-column { padding: 26px 18px 22px; border: 1px solid var(--nw-line); border-radius: 0; background: #fff; text-align: center; transition: border-color .5s ease; }
.nwgb-team .wp-block-column:hover { border-color: var(--nw-ink); }
.nwgb-team .wp-block-image.nwgb-avatar, .nwgb-team .wp-block-image.nwgb-avatar img { width: 88px; height: 88px; }
.nwgb-team .wp-block-image, .entry-content .nwgb-team figure.wp-block-image { margin: 0 auto 14px; }
.nwgb-team h3 { margin: 0 0 2px; font-size: 1.05rem; }
.nwgb-team p { margin: 0; color: var(--nw-mute); font-size: 14px; }

/* newsletter */
.wp-block-group.nwgb-newsletter { padding: clamp(30px, 5vw, 48px); border-radius: 0; background: #0a0a0a; color: #d6d3d1; text-align: center; }
.wp-block-group.nwgb-newsletter :where(h2, h3) { color: #fff; }
.nwgb-newsletter h2 { margin: 0 0 8px; font-size: clamp(1.4rem, 2.6vw, 1.9rem); }
.nwgb-newsletter .nwgb-lead { max-width: 520px; margin: 0 auto 22px; }
.nwgb-newsletter .wp-block-buttons { justify-content: center; margin: 0 0 14px; }
.nwgb-newsletter .nwgb-note { margin: 0; font-size: 13px; opacity: .75; }

/* post intro */
.nwgb-intro .nwgb-lead { color: var(--nw-ink); font-size: 1.2rem; line-height: 1.7; }
.nwgb-intro .wp-block-separator { margin: 1.8em 0; }

/* stats */
.wp-block-columns.nwgb-stats { gap: 0; padding: 8px 0; border: 0; border-top: 1px solid var(--nw-ink); border-bottom: 1px solid var(--nw-ink); border-radius: 0; background: none; box-shadow: none; }
.nwgb-stats .wp-block-column { padding: 22px 16px; text-align: center; }
.nwgb-stats .wp-block-column + .wp-block-column { border-left: 1px solid var(--nw-line); }
.nwgb-stats .nwgb-num { margin: 0 0 4px; font: 700 clamp(1.9rem, 3.4vw, 2.6rem)/1.05 var(--nw-font-head); letter-spacing: -.03em; color: var(--nw-ink); }
.nwgb-stats .wp-block-column:first-child .nwgb-num { color: var(--nw-accent-text, currentColor); text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: .34em; text-underline-offset: -.2em; text-decoration-skip-ink: none; }
.nwgb-stats p:not(.nwgb-num) { margin: 0; color: var(--nw-mute); font-size: 14px; }
@media (max-width: 781px) { .nwgb-stats .wp-block-column + .wp-block-column { border-left: 0; border-top: 1px solid var(--nw-line); } }

/* callout */
.wp-block-group.nwgb-callout { position: relative; padding: 20px 24px 20px 64px; border-left: 3px solid var(--nw-ink); border-radius: 0; background: var(--nw-soft); box-shadow: none; }
.nwgb-callout::before { content: "i"; position: absolute; left: 22px; top: 22px; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--nw-ink); color: #fff; font: 700 14px/1 var(--nw-font-head); }
.nwgb-callout p { margin: 0 0 .4em; }
.nwgb-callout p:last-child { margin-bottom: 0; }
.nwgb-callout strong { color: var(--nw-ink); }

/* =========================================================================
   Post formats — a small badge, plus quote / link / media touches
   ========================================================================= */
.nwgb-format { display: inline-flex; align-items: center; gap: 6px; padding: 0; border-radius: 0; background: none; color: var(--nw-accent-text, currentColor); font-size: 11px; font-weight: 700; letter-spacing: .08em; line-height: 1.4; text-transform: uppercase; vertical-align: middle; text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .28em; text-decoration-skip-ink: none; }
.nwgb-format svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.nwgb-format-quote svg { fill: currentColor; stroke: none; }
.nw-hero .nwgb-format { margin: 0 0 0 6px; background: none; box-shadow: none; }
.nw-ph-overlay:not(.nw-ph-noimg) .nwgb-format, .nwpo-hero-light .nwgb-format { padding: 4px 8px; background: #0a0a0a; color: #fff; box-shadow: none; }
.nw-card-body .nwgb-format, .nw-lead-body .nwgb-format { align-self: flex-start; margin: 0 0 12px; }
.nw-card-body .nw-pill + .nwgb-format, .nw-lead-body .nw-pill + .nwgb-format { margin-top: -4px; }

/* cards in the blog and archives */
.nw-card.format-quote .nw-card-excerpt, .nw-lead.format-quote .nw-lead-excerpt { position: relative; padding: 2px 0 2px 18px; color: var(--nw-ink); font-family: var(--nw-font-head); font-size: 1.05rem; font-weight: 600; font-style: italic; }
.nw-card.format-quote .nw-card-excerpt::before, .nw-lead.format-quote .nw-lead-excerpt::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 16px; width: 3px; border-radius: 0; background: var(--nw-accent); }
.nw-card:is(.format-aside, .format-status) .nw-card-excerpt { color: var(--nw-text); font-size: 1rem; }
.nw-card:is(.format-quote, .format-link, .format-aside, .format-status, .format-chat):not(.has-post-thumbnail) .nw-card-body { background: none; border-top: 1px solid var(--nw-ink); }

/* single posts */
.single-format-quote .entry-content > :is(blockquote, .wp-block-quote):first-child { margin-top: 0; padding: 1.6em 2em; border-left-width: 5px; font-family: var(--nw-font-head); font-size: clamp(1.25rem, 2.2vw, 1.55rem); font-weight: 600; line-height: 1.5; letter-spacing: -.01em; }
.single-format-link .entry-content > p:first-child > a:only-child { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; border: 1px solid var(--nw-ink); border-radius: 0; background: #fff; color: var(--nw-ink); font-family: var(--nw-font-head); font-size: 1.15rem; font-weight: 700; text-decoration: none; box-shadow: none; transition: color .4s ease; }
.single-format-link .entry-content > p:first-child > a:only-child::after { content: "\2197"; flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 0; background: var(--nw-ink); color: #fff; font-size: 17px; transition: background-color .4s ease; }
.single-format-link .entry-content > p:first-child > a:only-child:hover { text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .2em; }
.single-format-link .entry-content > p:first-child > a:only-child:hover::after { background: var(--nw-accent); }
.single-format-aside .entry-content, .single-format-status .entry-content { font-size: 1.12em; }
.single-format-status .entry-content > p:first-child { color: var(--nw-ink); font-family: var(--nw-font-head); font-size: 1.3rem; font-weight: 600; line-height: 1.55; }
.single-format-video .entry-content > :is(p, div):first-child iframe, .single-format-video .entry-content .wp-video, .single-format-video .entry-content > p > iframe { display: block; width: 100% !important; height: auto; aspect-ratio: 16 / 9; border: 0; border-radius: var(--nw-radius); box-shadow: none; }
.single-format-video .entry-content .wp-video video { border-radius: var(--nw-radius); }
.entry-content .wp-audio-shortcode, .entry-content .wp-block-audio audio { border-radius: 0; }
.single-format-audio .entry-content .wp-audio-shortcode, .single-format-audio .entry-content .wp-block-audio { margin: 0 0 1.6em; padding: 0; box-shadow: none; border-radius: 0; }
.entry-content .mejs-container.wp-audio-shortcode, .entry-content .mejs-container.wp-audio-shortcode .mejs-controls { border-radius: 0; background: #0a0a0a; }
.entry-content .mejs-container .mejs-time-current { background: var(--nw-accent); color: var(--nw-accent-ink, #0a0a0a); }
.single-format-image .entry-content > :is(p, figure):first-child img { width: 100%; border-radius: var(--nw-radius); box-shadow: none; }
.single-format-chat .entry-content > p { padding: 10px 16px; border-radius: 0; background: var(--nw-soft); max-width: 88%; }
.single-format-chat .entry-content > p:nth-of-type(even) { margin-left: auto; border-radius: 0; background: #fff; border: 1px solid var(--nw-line); }

@media (prefers-reduced-motion: reduce) {
	.wp-block-button.is-style-nwgb-gradient > .wp-block-button__link, .nwgb-features .wp-block-column, .nwgb-team .wp-block-column { transition: none; }
}

/* base.css */
/* NewsOn — single post designs: parts every design shares (inc/single-designs.php).
   Loaded only on posts that use a design, together with that design's own file. Prefix: nwsd-. */

.nwsd { --nwsd-measure: 720px; --nwsd-wide: 1120px; --nwsd-tint: var(--nw-soft, #f6f6f5); overflow-x: clip; }

/* ---------- header parts ---------- */
.nwsd-hero .nwpo-crumbs { justify-content: inherit; }
.nwsd-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 18px; }
.nwsd-cat { color: var(--nw-accent-text, currentColor); font-family: var(--nw-font); font-size: 12px; font-weight: 700; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; transition: color .5s ease; text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .28em; text-decoration-skip-ink: none; }
.nwsd-cat:hover { color: var(--nw-ink); }
.nwsd-kicker .nwgb-format { margin: 0; }
.nwsd .nwsd-title { margin: 0 0 18px; max-width: 980px; font-size: clamp(2.05rem, 1.25rem + 3vw, 3.5rem); font-weight: 600; line-height: 1.06; letter-spacing: -.015em; overflow-wrap: anywhere; hyphens: auto; text-wrap: balance; }
.nwsd-dek { max-width: 680px; margin: 0 0 24px; color: var(--nw-mute); font-size: 1.16rem; line-height: 1.6; text-wrap: pretty; }
.nwsd-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; color: var(--nw-mute); font-size: 13px; line-height: 1.4; }
.nwsd-meta .nwsd-avatar { flex: none; width: 40px; height: 40px; margin: 0 2px 0 0; border-radius: 50%; object-fit: cover; }
.nwsd-meta a { color: var(--nw-ink); font-weight: 700; text-decoration: none; transition: color .5s ease; }
.nwsd-meta a:hover { text-decoration-line: underline; text-decoration-color: var(--nw-accent); text-decoration-thickness: 3px; text-underline-offset: .2em; }
.nwsd-meta .nwsd-coms a { font-weight: 600; color: inherit; }
.nwsd-when::before, .nwsd-time::before, .nwsd-coms::before { content: ''; display: inline-block; width: 4px; height: 4px; margin: 0 14px 0 0; border-radius: 50%; background: currentColor; opacity: .45; vertical-align: middle; }
.nwsd-meta-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 0; margin: 0; }
.nwsd-meta-cols > div { padding: 12px 16px; border-left: 1px solid var(--nw-line); }
.nwsd-meta-cols > div:first-child { padding-left: 0; border-left: 0; }
.nwsd-meta-cols dt { margin: 0 0 3px; color: var(--nw-mute); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.nwsd-meta-cols dd { margin: 0; color: var(--nw-ink); font-size: 14.5px; font-weight: 600; }
.nwsd-meta-stack { display: grid; gap: 2px; }
.nwsd-meta-stack .nwsd-avatar { width: 56px; height: 56px; margin: 0 0 10px; }
.nwsd-label { margin-top: 12px; color: var(--nw-mute); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.nwsd-meta-stack .nwsd-avatar + .nwsd-label { margin-top: 0; }
.nwsd-meta-stack > span:not(.nwsd-label) { color: var(--nw-ink); font-size: 14.5px; font-weight: 600; }

/* ---------- photos ---------- */
.nwsd-fig { margin: 0; }
.nwsd-fig img { display: block; width: 100%; height: auto; }
.nwsd-fig figcaption, .nwsd-credit { margin: 10px 0 0; color: var(--nw-mute); font-size: 13.5px; line-height: 1.5; text-align: left; }
.nwsd-credit { margin-top: 12px; margin-bottom: 0; }
.nwsd-figwrap { margin-top: 8px; }

/* ---------- reading column ---------- */
body.nwsd-on:not(.nw-has-sidebar) .nwsd .nw-layout > .nwsd-content { max-width: var(--nwsd-measure); margin-left: auto; margin-right: auto; }
.nwsd .entry-content { overflow-wrap: break-word; }
.nwsd .entry-content > *:first-child { margin-top: 0; }
.nwsd .post-password-form { padding: 26px 28px; border: 1px solid var(--nw-line); border-top: 3px solid var(--nw-ink); border-radius: 0; background: var(--nw-soft); }
.nwsd .post-password-form p:last-child { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin: 0; }
.nwsd .post-password-form label { flex: 1 1 220px; }
.nwsd .page-links { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 28px 0; font-weight: 700; }
.nwsd .nw-tags { margin-top: 34px; }

/* share buttons in a rail */
.nwsp-share-rail { flex-direction: column; flex-wrap: nowrap; align-items: flex-start; gap: 6px; margin: 22px 0 0; }
.nwsp-share-rail .nwsp-share-label { margin: 0 0 4px; }
.nwsp-share-rail .nwsp-s { justify-content: center; width: 40px; height: 40px; padding: 0; }
.nwsp-share-rail .nwsp-s-t { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }

/* a rail or contents column beside the text */
.nwsd-grid { display: grid; grid-template-columns: 220px minmax(0, var(--nwsd-measure)); justify-content: center; gap: 64px; align-items: start; }
.nwsd-grid.nwsd-no-aside { grid-template-columns: minmax(0, var(--nwsd-measure)); }
.nwsd-aside { position: relative; height: 100%; }
.nwsd-rail-in { position: sticky; top: var(--nw-side-top, 110px); }
body.nwsd-on .nwsd .nwsd-grid .nwsd-content { max-width: none; margin: 0; }
@media (max-width: 1000px) {
	.nwsd-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.nwsd-rail-in { position: static; }
}

/* sidebar designs: the post column keeps a comfortable width */
.nw-has-sidebar .nwsd .nwsd-main { gap: 56px; }

/* parts the post asked to hide */
body.nwpo-hide-meta .nwsd-meta { display: none !important; }

/* night mode of the NewsOn Dark Mode element */
html.nwdm-m-palette.nwdm-dark .nwsd { --nw-ink: #f5f5f4; --nw-text: #d6d3d1; --nw-mute: #a3a3a3; --nw-line: #262626; --nw-soft: #141414; --nw-bg: #0a0a0a; --nwsd-tint: #171717; }

/* very soft entrance for the header text */
@media (prefers-reduced-motion: no-preference) {
	.nwsd-hero .nwsd-kicker, .nwsd-hero .nwsd-title, .nwsd-hero .nwsd-dek, .nwsd-hero .nwsd-meta { animation: nwsd-rise 1.1s cubic-bezier(.22, .61, .36, 1) both; }
	.nwsd-hero .nwsd-title { animation-delay: .06s; }
	.nwsd-hero .nwsd-dek { animation-delay: .12s; }
	.nwsd-hero .nwsd-meta { animation-delay: .18s; }
}
@keyframes nwsd-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

@media (max-width: 700px) {
	.nwsd .nwsd-title { font-size: clamp(1.85rem, 1.2rem + 3.6vw, 2.4rem); }
	.nwsd-dek { font-size: 1.06rem; }
	.nwsd-meta { font-size: 13.5px; }
	.nwsd-when::before, .nwsd-time::before, .nwsd-coms::before { display: none; }
	.nwsd-meta:not(.nwsd-meta-cols):not(.nwsd-meta-stack) { gap: 4px 12px; }
	.nwsd-meta-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nwsd-meta-cols > div { padding: 10px 0; border-left: 0; border-top: 1px solid var(--nw-line); }
	.nwsd-meta-cols > div:nth-child(-n+2) { border-top: 0; }
}

/* full-width blocks stay inside designs whose text column is not centered on the page */
.nwsd-grid .entry-content .alignfull, .nwsd-boxed .entry-content :is(.alignfull, .alignwide) { width: auto; max-width: 100%; margin-left: 0; margin-right: 0; }

