/*
 * base.css: page layout and accessibility helpers. Type and form defaults
 * come from legacy.css.
 */

/* Header/footer inner width: Elementor's boxed 1140px section. */
.act-container {
	width: 100%;
	max-width: 1140px;
	margin-inline: auto;
}

/* Full-width blocks break out of the Bootstrap container, as Elementor's
   "stretched" sections did. --act-vw is the viewport width without the
   scrollbar, set by site.js. */
:root {
	--act-vw: 100vw;
}
body {
	overflow-x: clip;
}
.act-blocks > .alignfull {
	position: relative;
	width: var(--act-vw);
	max-width: none;
	margin-left: calc(50% - var(--act-vw) / 2);
	margin-right: calc(50% - var(--act-vw) / 2);
}
/* .alignwide is deliberately not broken out: the old theme kept wide blocks
   (the WooCommerce cart and checkout) inside the container. */

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.skip-link:focus {
	clip: auto;
	clip-path: none;
	height: auto;
	width: auto;
	left: 8px;
	top: 8px;
	z-index: 100000;
	padding: 12px 20px;
	background: #fff;
	color: #077cbf;
	font-weight: 600;
}

/* Old archive.php inline layout: account nav left, posts right. */
.act-archive {
	display: grid;
	grid-template-columns: 200px 1fr;
	grid-template-rows: auto 1fr;
	grid-gap: 1rem;
}
.act-archive > h1 {
	grid-column: 1 / -1;
	margin: 0;
}
.act-archive > .posts {
	grid-column: 2;
	grid-row: 2;
}

/* Pages that open with a full-width banner start it right under the header.
   The old theme's 80px #ndic-content top padding left a white strip there
   (owner request 2026-10-01). Pages that open with text keep the padding. */
#ndic-content:has(.act-blocks > .alignfull:first-child) {
	padding-top: 0;
}
