/* Northline - WordPress integration: block output, default page content, archives, comments. */

/* Headings beyond h3 use the display face too. */
h4,h5,h6{font-family:var(--head);font-weight:600;line-height:1.2;margin:0}

/* Keep the fixed side navigation below the admin toolbar. */
.admin-bar .site-header.site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header.site-header{top:46px}}

.brand-logo img{max-height:60px;width:auto;object-fit:contain}

/* Arrow text links written as paragraphs in the editor ("text-link" class or the "Arrow link" style). */
p.text-link>a,p.is-style-northline-arrow-link>a{display:inline-flex;align-items:center;gap:25px}
p.text-link>a:after,p.is-style-northline-arrow-link>a:after{content:'\2197';font-size:19px;font-weight:400}
p.is-style-northline-arrow-link{font-size:11px;font-weight:650;display:inline-flex;align-items:center;padding-bottom:5px;border-bottom:1px solid currentColor;margin-top:21px}
p.is-style-northline-arrow-link:hover{color:var(--accent)}
@media(max-width:760px){.section-head .text-link>a{gap:9px}}

/* Core block wrappers inside designed layouts. */
.designed-content figure.wp-block-image,.about-opening figure.wp-block-image{margin:0}
.about-opening .wp-block-image img{width:100%}
.north-feature .feature-image img{object-fit:cover}
.north-feature.no-image{min-height:0}
.north-feature.no-image .feature-caption{padding-top:60px}
.blog-archive .result-count{margin:22px 0}
.contact-information .email a{border-bottom:1px solid var(--line)}
.contact-information .email a:hover{color:var(--accent);border-color:var(--accent)}

/* Contact form */
.nl-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-status--sent{border-left:3px solid var(--accent)}
.form-status--invalid,.form-status--error,.form-status--wait{border-left:3px solid #b3432a}
.form-status{margin:0 0 20px}

/* Server-side pagination (archives, search). */
.archive-pagination{align-items:center}
.archive-pagination a,.archive-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:39px;height:39px;padding:0 10px;border:1px solid var(--line);font-size:12px;color:var(--ink)}
.archive-pagination .current{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.archive-pagination .dots{border:0}
.archive-pagination a:hover{border-color:var(--ink)}
.empty-search{max-width:420px;margin:25px auto 0}

/* Search form */
.search-form{display:flex;gap:8px}
.search-form label{flex:1}
.search-form .search-field{width:100%;padding:11px 12px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.search-form .search-submit{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:0 18px;font-size:12px}

/* ---------- Default page and article content ----------
   New pages (page.php) and posts get Northline typography for every core block. */
.page-body{max-width:760px;margin:10px 0 0}
.page-image{margin-bottom:35px}
.entry-content{font-size:15px;line-height:1.85}
.entry-content p{margin:0 0 1.35em}
.entry-content h2{font-size:32px;letter-spacing:-.8px;line-height:1.2;margin:1.5em 0 .55em}
.entry-content h3{font-size:24px;letter-spacing:-.5px;line-height:1.25;margin:1.4em 0 .5em}
.entry-content h4{font-size:19px;margin:1.3em 0 .5em}
.entry-content h5,.entry-content h6{font-size:15px;margin:1.2em 0 .5em}
.entry-content>:first-child{margin-top:0}
.entry-content ul,.entry-content ol{margin:0 0 1.35em;padding-left:1.3em}
.entry-content li{margin:.35em 0}
.entry-content li::marker{color:var(--accent)}
.entry-content :where(p:not(.text-link):not(.is-style-northline-arrow-link),li,td,figcaption) a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.entry-content :where(p,li,td) a:hover{color:var(--ink)}
.entry-content blockquote,.entry-content .wp-block-quote{margin:1.8em 0;padding:4px 0 4px 24px;border-left:3px solid var(--accent);font-family:var(--head);font-size:21px;line-height:1.45;letter-spacing:-.3px}
.entry-content blockquote p{margin-bottom:.6em}
.entry-content blockquote cite,.entry-content .wp-block-quote cite{display:block;font:normal 11px/1.5 var(--sans);letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-top:10px}
.entry-content .wp-block-pullquote{border-block:2px solid var(--ink);padding:28px 0;margin:2em 0;text-align:center}
.entry-content .wp-block-pullquote blockquote{border:0;padding:0;margin:0;font-size:26px}
.entry-content figure{margin:0 0 1.6em}
.entry-content figure img,.entry-content .wp-block-image img{height:auto}
.entry-content figcaption,.entry-content .wp-element-caption{font-size:11px;color:var(--muted);margin-top:9px}
.entry-content hr,.entry-content .wp-block-separator{border:0;border-top:1px solid var(--line);margin:2.2em 0}
.entry-content table{width:100%;border-collapse:collapse;font-size:13px}
.entry-content th,.entry-content td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left}
.entry-content th{font-weight:650;border-bottom:2px solid var(--ink)}
.entry-content .wp-block-table{margin:0 0 1.6em;overflow-x:auto}
.entry-content pre,.entry-content code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}
.entry-content pre{background:var(--soft);padding:18px 20px;overflow:auto;margin:0 0 1.5em}
.entry-content .wp-block-columns{gap:30px;margin:0 0 1.6em}
.entry-content .wp-block-group.has-background{padding:28px 30px}
.entry-content .wp-block-buttons{margin:0 0 1.5em}
.entry-content .wp-block-embed{margin:0 0 1.6em}
.entry-content .alignleft{float:left;margin:.3em 1.6em 1em 0}
.entry-content .alignright{float:right;margin:.3em 0 1em 1.6em}
.entry-content .aligncenter{margin-left:auto;margin-right:auto}

/* Buttons from the core Button block match the template button. */
.wp-block-button__link,.wp-element-button{border-radius:0;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:13px 20px;font-size:12px;font-weight:600;line-height:1.4;text-decoration:none}
.wp-block-button__link:hover,.wp-element-button:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}
.wp-block-button.is-style-outline>.wp-block-button__link{background:none;color:var(--ink)}
.wp-block-button.is-style-outline>.wp-block-button__link:hover{background:var(--ink);color:var(--paper)}

/* Articles keep the original prose scale. */
.prose.entry-content{font-size:inherit;line-height:inherit}
.prose.entry-content p{margin:0 0 23px}
.prose.entry-content .lead-paragraph{font-size:20px;color:var(--muted)}
.prose.entry-content h2{font-size:27px;letter-spacing:-.7px;margin:35px 0 18px;scroll-margin-top:30px}
@media(max-width:760px){.prose.entry-content .lead-paragraph{font-size:18px}.prose.entry-content h2{font-size:26px}.entry-content h2{font-size:27px}.entry-content h3{font-size:22px}}

/* Plain top-level blocks dropped into a designed page still get spacing. */
.designed-content>p,.designed-content>ul,.designed-content>ol{margin:1.2em 0;max-width:760px}
.designed-content>h2,.designed-content>h3{margin:1.4em 0 .5em}
.designed-content>.wp-block-image,.designed-content>.wp-block-columns,.designed-content>.wp-block-buttons{margin-top:40px}

/* Comments */
.comments-area{max-width:720px;margin:55px auto 0;border-top:1px solid var(--line);padding-top:28px}
.comments-title,.comment-reply-title{font-size:25px;letter-spacing:-.7px;margin-bottom:20px}
.comment-list{list-style:none;padding:0;margin:0 0 30px}
.comment-list .children{list-style:none;padding-left:25px}
.comment-body{border-bottom:1px solid var(--line);padding:18px 0;font-size:13px}
.comment-meta{font-size:10px;color:var(--muted);margin-bottom:8px}
.comment-meta img{display:inline-block;border-radius:50%;margin-right:8px;vertical-align:middle}
.comment-author .fn{font-size:13px;color:var(--ink);font-weight:650}
.comment-form p{margin-bottom:15px}
.comment-form label{display:block;font-size:11px;font-weight:600;margin-bottom:6px}
.comment-form input:not([type=submit]):not([type=checkbox]),.comment-form textarea{width:100%;padding:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.comment-form .comment-form-cookies-consent label{display:inline;font-weight:400}

/* Editor-only notice for empty Northline blocks. */
.northline-editor-notice{padding:22px 24px;border:1px dashed var(--line);background:var(--soft);color:var(--muted);font-size:12px}
