/* Shared layout. Section-specific styles belong in blocks/{layout}.css. */
body { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
.container { width: min(100% - var(--jabri-gutter) * 2, var(--jabri-container)); margin-inline: auto; }
.site-main { flex: 1; min-width: 0; }
.content-shell { max-width: var(--jabri-content); padding-block: var(--jabri-section-space); }
.content-shell--secondary { padding-top: 0; }
.entry-header { margin-bottom: 2rem; }
.entry-header h1:last-child { margin-bottom: 0; }
.entry-meta { color: var(--jabri-color-muted); font-size: .9rem; }
.entry-image img { width: 100%; border-radius: var(--jabri-radius); }
.entry-content > :last-child { margin-bottom: 0; }
.entry-content::after { content: ""; display: table; clear: both; }
.entry-content .alignwide { width: 100%; }
.aligncenter { margin-inline: auto; }
.alignleft { float: left; margin-inline-end: 1.5rem; }
.alignright { float: right; margin-inline-start: 1.5rem; }
.wp-caption { max-width: 100%; }
.wp-caption-text, .gallery-caption { color: var(--jabri-color-muted); font-size: .875rem; }
.bypostauthor { border-inline-start: 2px solid var(--jabri-color-border); padding-inline-start: 1rem; }
.site-header { border-bottom: 1px solid var(--jabri-color-border); }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 5.5rem; padding-block: 1rem; }
.site-branding__name { color: var(--jabri-color-text); text-decoration: none; font-size: 1.6rem; font-weight: 750; letter-spacing: -.04em; }
.custom-logo { width: auto; max-height: 4rem; }
.primary-menu, .footer-menu { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem 1.5rem; list-style: none; padding: 0; margin: 0; }
.primary-menu a, .footer-menu a { display: block; padding-block: .5rem; color: var(--jabri-color-text); text-decoration: none; }
.primary-menu a:hover, .footer-menu a:hover, .primary-menu .current-menu-item > a { color: var(--jabri-color-accent); text-decoration: underline; }
.primary-menu li { position: relative; }
.primary-menu .sub-menu { position: absolute; inset-inline-start: 0; top: 100%; z-index: 20; min-width: 13rem; padding: .5rem 1rem; margin: 0; list-style: none; background: #fff; border: 1px solid var(--jabri-color-border); border-radius: var(--jabri-radius); visibility: hidden; opacity: 0; }
.primary-menu .sub-menu .sub-menu { inset-inline-start: 100%; top: 0; }
.primary-menu li:hover > .sub-menu, .primary-menu li:focus-within > .sub-menu { visibility: visible; opacity: 1; }
.primary-menu > li:last-child > .sub-menu { inset-inline-start: auto; inset-inline-end: 0; }
.site-footer { margin-top: auto; border-top: 1px solid var(--jabri-color-border); background: var(--jabri-color-surface); }
.site-footer__inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem 2rem; padding-block: 1.75rem; }
.site-footer p { margin: 0; color: var(--jabri-color-muted); font-size: .9rem; }
.post-list { display: grid; gap: 2.5rem; }
.post-summary { padding-bottom: 2rem; border-bottom: 1px solid var(--jabri-color-border); }
.post-summary h2 a { color: inherit; text-decoration: none; }
.post-summary h2 a:hover { color: var(--jabri-color-accent); }
.post-summary__image { display: block; margin-bottom: 1.5rem; }
.post-summary__image img { border-radius: var(--jabri-radius); }
.sticky { border-inline-start: 3px solid var(--jabri-color-accent); padding-inline-start: 1rem; }
.pagination, .post-navigation, .comments-area { margin-top: 2.5rem; }
.nav-links { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
.page-numbers { padding: .25rem .5rem; }
.page-numbers.current { font-weight: 700; }
.search-form { display: flex; flex-wrap: wrap; gap: .75rem; margin-block: 1.5rem; }
.search-field { flex: 1 1 12rem; min-width: 0; }
.comment-list { padding-inline-start: 1.25rem; }
.comment-body { margin-block: 1.5rem; }
@media (max-width: 767px) {
	.site-header__inner { flex-wrap: wrap; }
	.primary-navigation { width: 100%; }
	.primary-menu { align-items: stretch; flex-direction: column; gap: 0; }
	.primary-menu .sub-menu, .primary-menu .sub-menu .sub-menu { position: static; visibility: visible; opacity: 1; border: 0; padding-block: 0; min-width: 0; }
	.alignleft, .alignright { float: none; margin-inline: 0; }
}
