/*
Theme Name: North Light
Theme URI: https://polarismng.com/blog/
Author: Polaris Management SL
Description: Blog theme for The North Light. Shares header, footer and design tokens with the static polarismng.com site.
Version: 1.0.3
Requires at least: 6.0
Requires PHP: 8.0
License: Proprietary
Text Domain: north-light
*/

/* Post titles are sentences, not slogans: smaller than the site's display headings */
.nl-hero h1.nl-title { font-size: clamp(38px, 5.2vw, 76px); line-height: 1; max-width: 18ch; text-transform: none; }
.nl-hero p { margin-top: 24px; }

/* Article body: Gutenberg blocks in the Polaris voice */
.nl-content { max-width: 760px; margin: 0 auto; font-size: 19px; line-height: 1.7; }
.nl-content > * + * { margin-top: 1.1em; }
.nl-content h2 { margin-top: 2.2em; font-size: clamp(28px, 3vw, 40px); line-height: 1.05; letter-spacing: -.04em; }
.nl-content h3 { margin-top: 1.8em; font-size: clamp(22px, 2.2vw, 28px); letter-spacing: -.03em; }
.nl-content a { color: var(--blue-deep); text-decoration: underline; text-underline-offset: 3px; }
.nl-content ul, .nl-content ol { padding-left: 1.2em; }
.nl-content li + li { margin-top: .4em; }
.nl-content img, .nl-content video, .nl-content iframe { max-width: 100%; height: auto; }
.nl-content figure { margin: 2em 0; }
.nl-content figcaption, .nl-content .wp-element-caption { margin-top: 10px; color: var(--muted); font-size: 14px; }
.nl-content .alignwide { max-width: 1100px; margin-left: 50%; transform: translateX(-50%); width: min(1100px, 92vw); }
.nl-content .alignfull { width: 100vw; margin-left: 50%; transform: translateX(-50%); max-width: none; }

.nl-content blockquote, .nl-content .wp-block-quote { margin: 2em 0; padding: 4px 0 4px 26px; border-left: 4px solid var(--acid); font-size: 21px; }
.nl-content blockquote cite { display: block; margin-top: 10px; font-size: 14px; font-style: normal; color: var(--muted); }
.nl-content .wp-block-pullquote { margin: 2.4em 0; padding: 34px 0; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); text-align: left; }
.nl-content .wp-block-pullquote blockquote { border: 0; padding: 0; margin: 0; font-size: clamp(26px, 3vw, 36px); line-height: 1.15; letter-spacing: -.03em; font-weight: 700; }
.nl-content .wp-block-separator { border: 0; border-top: 1px solid var(--line); margin: 3em 0; }

.nl-content .wp-block-table { overflow-x: auto; }
.nl-content table { width: 100%; border-collapse: collapse; font-size: 16px; }
.nl-content th, .nl-content td { padding: 12px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.nl-content th { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }

.nl-content .wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; padding: 14px 22px; background: var(--ink); color: white; text-decoration: none; font-size: 15px; font-weight: 700; border-radius: 0; }
.nl-content .wp-block-button__link:hover { background: var(--blue-deep); }
.nl-content .wp-block-embed__wrapper { position: relative; }
.nl-content .wp-block-audio audio { width: 100%; }
.nl-content .wp-block-search__inside-wrapper { display: flex; gap: 8px; }
.nl-content .wp-block-search__input { flex: 1; padding: 12px; border: 1px solid var(--ink); font: inherit; }
.nl-content .wp-block-search__button { padding: 12px 18px; background: var(--ink); color: white; border: 0; font: inherit; font-weight: 700; }

.nl-pagination { margin-top: 50px; }
.nl-pagination .nav-links { display: flex; gap: 14px; flex-wrap: wrap; font-weight: 700; }
.nl-pagination .page-numbers.current { color: var(--blue-deep); }
