/* ==========================================================================
   NewsBit — WordPress additions on top of the template's style.css:
   things the static template never needed (WP content blocks, comments,
   page template, menu states, empty states).
   ========================================================================== */

/* Admin bar keeps the sticky header below it */
body.admin-bar .header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .header { top: 46px; } }

.skip-link:focus { position: fixed !important; top: 8px; left: 8px; z-index: 9999; width: auto; height: auto; clip: auto; margin: 0; padding: 10px 16px; background: #fff; color: #000; }

/* Sub-nav: current item */
.subnav li.current > a { color: var(--red); }

/* Single: kicker is a link */
a.kicker { text-decoration: none; }
a.kicker:hover { opacity: .85; }

/* Gutenberg content inside the article body */
.article-wrap img { max-width: 100%; height: auto; }
.article-wrap figure { margin: 32px 0; }
.article-wrap figcaption, .article-wrap .wp-element-caption { margin-top: 10px; font-size: 13px; color: #8a8a8a; text-align: center; }
.article-wrap a:not(.share-btn) { color: var(--red); text-decoration: underline; text-underline-offset: 3px; }
.article-wrap h3 { font-family: "Fraunces", Georgia, serif; font-weight: 400; font-size: 24px; line-height: 1.3; color: #000; margin: 36px 0 14px; }
.article-wrap ol { padding-left: 22px; margin: 0 0 24px; }
.article-wrap ol li { margin-bottom: 10px; }
.article-wrap pre { background: #f5f5f5; padding: 18px; overflow: auto; font-size: 14px; margin-bottom: 24px; }
.article-wrap table { width: 100%; border-collapse: collapse; margin-bottom: 24px; font-size: 15px; }
.article-wrap th, .article-wrap td { border: 1px solid var(--line); padding: 10px 12px; text-align: left; }
.article-wrap .wp-block-image, .article-wrap .wp-block-embed { margin: 32px 0; }
.article-wrap iframe { max-width: 100%; }
.alignleft { float: left; margin: 6px 24px 16px 0; }
.alignright { float: right; margin: 6px 0 16px 24px; }
.aligncenter { margin-left: auto; margin-right: auto; display: block; }
.alignwide, .alignfull { max-width: 100%; }
.nb-page-links { margin: 24px 0; font-weight: 600; }

/* Tags under the article */
.nb-post-tags { margin: 40px 0 0; }
.article-wrap .nb-post-tags a { color: inherit; text-decoration: none; }

/* Related stories */
.nb-related { border-top: 1px solid var(--line); }

/* Comments */
.nb-comments { margin-top: 56px; padding-top: 40px; border-top: 1px solid var(--line); }
.nb-comments-title, .comment-reply-title { font-family: "Fraunces", Georgia, serif; font-weight: 400; font-size: 26px; color: #000; margin-bottom: 20px; }
.nb-comment-list, .nb-comment-list .children { list-style: none; padding: 0; margin: 0; }
.nb-comment-list .children { padding-left: 32px; }
.nb-comment-list .comment-body { padding: 20px 0; border-bottom: 1px solid var(--line); }
.nb-comment-list .comment-author { display: flex; align-items: center; gap: 12px; font-weight: 600; color: #000; }
.nb-comment-list .comment-author img { border-radius: 50%; }
.nb-comment-list .comment-author .says { display: none; }
.nb-comment-list .comment-metadata { font-size: 12px; margin: 4px 0 10px 56px; }
.nb-comment-list .comment-metadata a { color: #8a8a8a; text-decoration: none; }
.nb-comment-list .comment-content { padding-left: 56px; }
.nb-comment-list .comment-content p { font-size: 16px; margin-bottom: 10px; }
.nb-comment-list .reply { padding-left: 56px; font-size: 13px; font-weight: 600; }
.comment-respond { margin-top: 32px; }
.comment-form p { font-size: 15px; margin-bottom: 16px; }
.comment-form label { display: block; font-size: 13px; font-weight: 600; color: #000; margin-bottom: 6px; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea {
	width: 100%; padding: 12px 14px; border: 1px solid #d9d9d9; border-radius: 4px; font: inherit; font-size: 15px; background: #fff;
}
.comment-form input:focus, .comment-form textarea:focus { outline: 0; border-color: var(--red); }
.comment-form .comment-form-cookies-consent { display: flex; gap: 8px; align-items: flex-start; }
.comment-form .comment-form-cookies-consent label { font-weight: 400; color: inherit; }
.nb-btn, .comment-form .submit { display: inline-block; font: inherit; font-size: 14px; font-weight: 600; color: #fff; background: #000; border: 0; border-radius: 4px; padding: 13px 26px; cursor: pointer; transition: background .25s; }
.nb-btn:hover, .comment-form .submit:hover { background: var(--red); }

/* Static page */
.nb-page-head { padding: 56px 0 8px; }
.nb-page-head .crumbs { color: #8a8a8a; }
.nb-page-head .crumbs a:hover { color: var(--red); }
.nb-page-head h1 { font-family: "Fraunces", Georgia, serif; font-weight: 400; font-size: clamp(32px, 4vw, 56px); line-height: 1.1; color: #000; margin-top: 14px; max-width: 900px; }
.nb-page-media { margin: 32px 0 0; }
.nb-page-media img { width: 100%; max-height: 560px; object-fit: cover; }
.nb-page-wrap { max-width: none; }
.nb-page .article-body { padding-top: 32px; }

/* Empty states */
.nb-empty { padding: 72px 0; text-align: center; }
.nb-empty h1, .nb-empty h2 { font-family: "Fraunces", Georgia, serif; font-weight: 400; font-size: 32px; color: #000; margin-bottom: 10px; }
.sr-reset { display: inline-block; }

/* 404 */
.nb-404-code { font-family: "Fraunces", Georgia, serif; font-size: clamp(80px, 12vw, 140px); line-height: 1; color: var(--red); margin-bottom: 8px; }

/* Search: sort form is just a wrapper */
.sr-sort-form { margin: 0; flex-shrink: 0; }
a.sr-chip { text-decoration: none; }

/* Fallback search form (widgets) */
.nb-searchform { display: flex; gap: 6px; }
.nb-searchform input { flex: 1; min-width: 0; padding: 10px 12px; border: 1px solid #d9d9d9; border-radius: 4px; font: inherit; font-size: 14px; }
.nb-searchform button { font: inherit; font-size: 14px; font-weight: 600; color: #fff; background: #000; border: 0; border-radius: 4px; padding: 10px 16px; cursor: pointer; }

/* Footer menus generated by WordPress */
.f-col ul .sub-menu { display: none; }
.nb-page-head .crumbs span { color: #000; }

/* Header pieces switched off in the Customizer */
.subnav[hidden] { display: none !important; }

/* Footer social icons coloured by network (not by position) */
.f-social a.is-facebook { background: #1877f2; border-color: #1877f2; }
.f-social a.is-x { background: #000; border-color: #4a4a4a; }
.f-social a.is-linkedin { background: #0a66c2; border-color: #0a66c2; }
.f-social a.is-youtube { background: #ff0000; border-color: #ff0000; }
.f-social a.is-instagram { background: #d62976; border-color: #d62976; }
.f-social a.is-medium { background: #000; border-color: #4a4a4a; }
.f-social a.is-rss { background: #f26522; border-color: #f26522; }

/* Footer: only the columns switched on in the Customizer take space (desktop) */
@media (min-width: 1001px) {
	.footer-grid[style*="--nb-cols"] { grid-template-columns: var(--nb-cols); }
}

/* Newsletter honeypot (hidden from people, bots fill it in) */
.f-form .nb-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.f-form { position: relative; }
.f-form button:disabled { opacity: .6; cursor: wait; }
