/* IZB Nordic: page frame (container, top bar, header, drawer, footer). Ported from izb-pravci/v2/style.css. */

.wrap { width: min(1200px, 100% - 2 * var(--izb-space-gutter)); margin-inline: auto; }

/* Top bar (>= 1080px) */
.topbar { background: var(--izb-green-deep); color: var(--izb-green-ink-2); font-size: 14.5px; display: none; }
.topbar .wrap { display: flex; justify-content: space-between; align-items: center; min-height: 40px; }
@media (min-width: 1080px) { .topbar { display: block; } }

/* Header */
.site-header { background: var(--izb-paper); border-bottom: 1px solid var(--izb-line); position: sticky; top: 0; z-index: 30; }
.admin-bar .site-header { top: var(--wp-admin--admin-bar--height, 0px); }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }
.site-header .bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 76px; }
.brand { display: block; flex: none; }
.brand img { height: 44px; width: auto; }
.brand-name { font: 700 19px/1.2 var(--izb-font-head); color: var(--izb-ink); }
.nav { display: none; }
.tools { display: flex; align-items: center; gap: 8px; }
@media (min-width: 1180px) {
	.nav { display: block; }
	.brand img { height: 50px; }
}

/* Mobile drawer */
.drawer { position: fixed; inset: 0; z-index: 60; background: var(--izb-scrim); }
.drawer[hidden] { display: none; }
.drawer-in {
	position: absolute;
	inset: 0 0 0 auto;
	width: min(420px, 100%);
	background: var(--izb-paper);
	overflow-y: auto;
	padding: 16px 20px 32px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.drawer-top { display: flex; justify-content: space-between; align-items: center; }
.drawer nav { display: grid; }
.drawer-foot { display: grid; gap: 4px; margin-top: 8px; }

/* Main content wrapper opened in header.php, closed in footer.php */
.site-main { display: block; }

/* Footer */
.site-footer { margin-top: var(--izb-space-footer); background: var(--izb-green-deep); color: var(--izb-green-ink-2); padding: 44px 0 28px; font-size: 15.5px; }
.foot-top { display: flex; flex-wrap: wrap; gap: 20px; justify-content: space-between; align-items: center; padding-bottom: 28px; margin-bottom: 28px; border-bottom: 1px solid var(--izb-on-dark-line); }
.site-footer .cols { display: grid; gap: 28px; grid-template-columns: 1fr 1fr; }
.site-footer .legal { border-top: 1px solid var(--izb-on-dark-line); margin-top: 32px; padding-top: 18px; font-size: 14px; }
.foot-top + .legal { border-top: 0; margin-top: 0; padding-top: 0; }
@media (min-width: 800px) { .site-footer .cols { grid-template-columns: repeat(4, 1fr); } }
