/* Attendra App Shell — layout for portal pages using the app-shell template */

.attendra-app-shell {
	margin: 0;
	padding: 0;
	min-height: 100vh;
}

.attendra-app-bar {
	display: flex;
	align-items: center;
	height: 48px;
	padding: 0 16px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	position: sticky;
	top: 0;
	z-index: 100;
	background: #fff;
}

/* Offset sticky bar below admin bar on desktop */
.admin-bar.attendra-app-shell .attendra-app-bar {
	top: 32px;
}

/* On mobile, admin bar is not fixed — keep bar at top:0 when it scrolls away */
@media (max-width: 782px) {
	.admin-bar.attendra-app-shell .attendra-app-bar {
		top: 0;
	}
}

.attendra-app-bar__back {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	text-decoration: none;
	color: inherit;
	font-size: 13px;
	font-weight: 500;
	padding: 4px 8px;
	border-radius: 4px;
}

.attendra-app-bar__back:hover,
.attendra-app-bar__back:focus {
	text-decoration: none;
	color: inherit;
}

.attendra-app-bar__back .dashicons {
	width: 20px;
	height: 20px;
	font-size: 20px;
	line-height: 1;
	flex-shrink: 0;
}

.attendra-app-main {
	padding: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* Strip width constraints from Gutenberg/theme wrappers inside app-shell.
   Targets only the first two container levels so inner portal rules (max-width: 900px etc.) are preserved. */
.attendra-app-shell .attendra-app-main > * {
	max-width: 100% !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box;
}

/* Gutenberg layout constraints — these apply max-width to content children */
.attendra-app-shell .is-layout-constrained > *,
.attendra-app-shell .is-layout-flow > *,
.attendra-app-shell .wp-block-shortcode,
.attendra-app-shell .entry-content,
.attendra-app-shell .post-content {
	max-width: 100% !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box;
}

/* Full-bleed: break out of theme's padded container */
.attendra-app-shell .sd-account-holder-portal {
	position: relative;
	left: 50%;
	transform: translateX( -50% );
	width: 100vw;
	max-width: 100vw;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
