/**
 * Apollo Redesign — portal styles
 * Scoped under .apollo-redesign / body.apollo-redesign-enabled
 */

.apollo-redesign {
	--apollo-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 1px 3px rgba(16, 24, 40, 0.06);
	--apollo-shadow-hover: 0 8px 20px rgba(16, 24, 40, 0.1);
	--apollo-font: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
	color: var(--apollo-text, #111827);
	font-family: var(--apollo-font);
	font-size: 1rem;
	line-height: 1.5;
	box-sizing: border-box;
}

.apollo-redesign *,
.apollo-redesign *::before,
.apollo-redesign *::after {
	box-sizing: border-box;
}

/* ========== Application shell ========== */
.apollo-redesign-app-wrap {
	width: 100%;
}

.apollo-redesign-site-header {
	background: #fff;
	border-bottom: 1px solid var(--apollo-border, #e5e7eb);
	position: sticky;
	top: 0;
	z-index: 40;
	box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
}

.apollo-redesign-site-header__inner {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	padding: 0.75rem 1.5rem;
	max-width: 100%;
	overflow-x: auto;
}

.apollo-redesign-site-header__brand {
	font-weight: 800;
	font-style: italic;
	color: #1d4ed8;
	text-decoration: none;
	font-size: 1.25rem;
	flex-shrink: 0;
	letter-spacing: -0.02em;
}

.apollo-redesign-site-header__nav {
	flex: 1 1 auto;
	min-width: 0;
}

.apollo-redesign-site-header__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.apollo-redesign-site-header__list > li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.apollo-redesign-site-header__link {
	display: inline-flex;
	align-items: center;
	color: #374151;
	text-decoration: none !important;
	font-size: 0.9rem;
	font-weight: 600;
	white-space: nowrap;
	padding: 0.5rem 0.85rem;
	border-radius: 0.5rem;
	line-height: 1.2;
}

.apollo-redesign-site-header__link:hover,
.apollo-redesign-site-header__link.is-active {
	color: #1d4ed8;
	background: #eff6ff;
}

.apollo-redesign-site-header__actions {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-shrink: 0;
}

.apollo-redesign-site-header__kb,
.apollo-redesign-site-header__logout {
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: none !important;
	color: #1e3a8a;
	padding: 0.5rem 0.85rem;
	border-radius: 0.5rem;
}

.apollo-redesign-site-header__kb:hover {
	background: #eff6ff;
}

.apollo-redesign-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 1rem;
	margin-bottom: 1.25rem;
}

.apollo-redesign-stat {
	display: flex;
	gap: 0.85rem;
	align-items: center;
	background: #fff;
	border: 1px solid var(--apollo-border, #e5e7eb);
	border-radius: 0.9rem;
	padding: 1rem 1.1rem;
	box-shadow: var(--apollo-shadow);
}

a.apollo-redesign-stat--link {
	color: inherit;
	text-decoration: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

a.apollo-redesign-stat--link:hover,
a.apollo-redesign-stat--link:focus-visible {
	border-color: var(--apollo-primary, #2563eb);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--apollo-primary, #2563eb) 20%, transparent);
	outline: none;
}

a.apollo-redesign-stat--link:hover .apollo-redesign-stat__label {
	color: var(--apollo-primary, #2563eb);
}

.apollo-redesign-stat__icon {
	color: var(--apollo-primary, #2563eb);
}

.apollo-redesign-stat__value {
	display: block;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.1;
}

.apollo-redesign-stat__label {
	color: var(--apollo-muted, #6b7280);
	font-size: 0.85rem;
}

.apollo-redesign-freq {
	list-style: none;
	margin: 0;
	padding: 0;
}

.apollo-redesign-freq li {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--apollo-border, #e5e7eb);
}

.apollo-redesign-freq__title {
	color: inherit;
	text-decoration: none;
	font-weight: 600;
}

a.apollo-redesign-freq__title:hover {
	color: var(--apollo-primary, #2563eb);
	text-decoration: underline;
}

.apollo-redesign-freq__count {
	color: var(--apollo-muted, #6b7280);
	font-size: 0.875rem;
}

.apollo-redesign-panel--subs .apollo-redesign-subs {
	margin: 0;
}

.apollo-redesign-panel__footer-link {
	margin: 1rem 0 0;
	font-size: 0.9rem;
}

.apollo-redesign-panel__footer-link a {
	color: var(--apollo-primary, #2563eb);
	font-weight: 600;
	text-decoration: none;
}

.apollo-redesign-panel__footer-link a:hover {
	text-decoration: underline;
}

.apollo-redesign-subs__back {
	margin: 0 0 1rem;
}

.apollo-redesign-subs__back a {
	color: var(--apollo-primary, #2563eb);
	font-weight: 600;
	text-decoration: none;
	font-size: 0.95rem;
}

.apollo-redesign-subs__back a:hover {
	text-decoration: underline;
}

.apollo-redesign-my-forms__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.apollo-redesign-my-forms__toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.85rem;
}

.apollo-redesign-my-forms__count {
	color: var(--apollo-muted, #6b7280);
	font-size: 0.875rem;
	font-weight: 500;
}

.apollo-redesign-pager {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 1.25rem;
	padding-top: 0.25rem;
}

.apollo-redesign-pager__btn,
.apollo-redesign-pager__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.25rem;
	padding: 0.35rem 0.75rem;
	border: 1px solid var(--apollo-border, #e5e7eb);
	border-radius: 0.5rem;
	background: #fff;
	color: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	line-height: 1;
}

a.apollo-redesign-pager__btn:hover,
a.apollo-redesign-pager__num:hover,
a.apollo-redesign-pager__btn:focus-visible,
a.apollo-redesign-pager__num:focus-visible {
	border-color: var(--apollo-primary, #2563eb);
	color: var(--apollo-primary, #2563eb);
	outline: none;
}

.apollo-redesign-pager__num.is-active {
	background: var(--apollo-primary, #2563eb);
	border-color: var(--apollo-primary, #2563eb);
	color: #fff;
}

.apollo-redesign-pager__btn.is-disabled {
	opacity: 0.45;
	cursor: default;
}

.apollo-redesign-pager__pages {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
}

.apollo-redesign-pager__ellipsis {
	color: var(--apollo-muted, #6b7280);
	padding: 0 0.15rem;
}

.apollo-redesign-my-forms__card {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 1.1rem 1.2rem;
	background: #fff;
	border: 1px solid var(--apollo-border, #e5e7eb);
	border-radius: 0.9rem;
	box-shadow: var(--apollo-shadow);
	text-decoration: none !important;
	color: inherit;
	min-width: 0;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

a.apollo-redesign-my-forms__card:hover,
a.apollo-redesign-my-forms__card:focus-visible,
a.apollo-redesign-my-forms__card:visited {
	text-decoration: none !important;
	color: inherit;
}

.apollo-redesign-my-forms__card:hover,
.apollo-redesign-my-forms__card:focus-visible {
	border-color: color-mix(in srgb, var(--apollo-primary, #2563eb) 45%, var(--apollo-border));
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--apollo-primary, #2563eb) 18%, transparent);
	outline: none;
}

.apollo-redesign-my-forms__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 0.75rem;
	background: color-mix(in srgb, var(--apollo-primary, #2563eb) 12%, #fff);
	color: var(--apollo-primary, #2563eb);
	flex-shrink: 0;
}

.apollo-redesign-my-forms__icon .apollo-redesign-icon {
	width: 1.5rem;
	height: 1.5rem;
}

.apollo-redesign-my-forms__body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.apollo-redesign-my-forms__title {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--apollo-secondary, #0b1b35);
	line-height: 1.35;
	text-decoration: none !important;
}

.apollo-redesign-my-forms__meta {
	font-size: 0.95rem;
	font-weight: 500;
	color: var(--apollo-muted, #6b7280);
	text-decoration: none !important;
}

.apollo-redesign-my-forms__chevron {
	flex-shrink: 0;
	color: var(--apollo-muted, #6b7280);
}

.apollo-redesign-my-forms__chevron .apollo-redesign-icon {
	width: 1.25rem;
	height: 1.25rem;
}

@media (max-width: 900px) {
	.apollo-redesign-my-forms__list {
		grid-template-columns: 1fr;
	}
}

.apollo-redesign-subs__search-wrap {
	position: relative;
	flex: 1 1 16rem;
	min-width: 12rem;
	max-width: 28rem;
}

.apollo-redesign-subs__search-icon {
	position: absolute;
	left: 0.85rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.15rem;
	height: 1.15rem;
	color: var(--apollo-muted, #6b7280);
	pointer-events: none;
	z-index: 1;
}

.apollo-redesign-subs__search-icon .apollo-redesign-icon {
	width: 1.15rem;
	height: 1.15rem;
	display: block;
}

.apollo-redesign-subs__search {
	width: 100%;
	min-height: 2.65rem;
	padding: 0.55rem 0.85rem 0.55rem 2.85rem;
	border: 1px solid var(--apollo-border, #e5e7eb);
	border-radius: 0.65rem;
	background: #fff;
	font-size: 0.95rem;
	line-height: 1.4;
	box-sizing: border-box;
}

.apollo-redesign-subs__search:focus {
	outline: 2px solid color-mix(in srgb, var(--apollo-primary, #2563eb) 45%, transparent);
	outline-offset: 1px;
	border-color: var(--apollo-primary, #2563eb);
}

.apollo-redesign-subs__count {
	color: var(--apollo-muted, #6b7280);
	font-size: 0.875rem;
	font-weight: 500;
}

.apollo-redesign-subs__none {
	margin: 0.5rem 0 0;
	color: var(--apollo-muted, #6b7280);
}

.apollo-redesign-subs__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.apollo-redesign-sub {
	background: #fff;
	border: 1px solid var(--apollo-border, #e5e7eb);
	border-radius: 0.9rem;
	padding: 1.1rem 1.2rem;
	box-shadow: var(--apollo-shadow);
	min-width: 0;
}

.apollo-redesign-sub__row {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0.85rem;
}

.apollo-redesign-sub__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.65rem;
	background: color-mix(in srgb, var(--apollo-primary, #2563eb) 12%, #fff);
	color: var(--apollo-primary, #2563eb);
	flex-shrink: 0;
	margin-top: 0.15rem;
}

.apollo-redesign-sub__icon .apollo-redesign-icon {
	width: 1.35rem;
	height: 1.35rem;
}

.apollo-redesign-sub__main {
	flex: 1 1 10rem;
	min-width: 0;
	margin: 0;
}

.apollo-redesign-sub__title {
	margin: 0 0 0.35rem;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--apollo-secondary, #0b1b35);
	letter-spacing: 0.01em;
}

.apollo-redesign-sub__meta {
	margin: 0;
	color: #374151;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.45;
}

.apollo-redesign-sub__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	margin-left: auto;
}

@media (max-width: 900px) {
	.apollo-redesign-subs__list {
		grid-template-columns: 1fr;
	}
}

.apollo-redesign-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.5rem;
	padding: 0.4rem 0.9rem;
	border-radius: 0.55rem;
	border: 1px solid transparent;
	font-weight: 600;
	font-size: 0.875rem;
	text-decoration: none;
	cursor: pointer;
}

.apollo-redesign-btn--primary {
	background: var(--apollo-primary, #2563eb);
	color: #fff;
}

.apollo-redesign-btn--secondary {
	background: #eff6ff;
	color: #1e40af;
	border-color: #bfdbfe;
}

.apollo-redesign-btn--ghost {
	background: #fff;
	color: var(--apollo-secondary, #0b1b35);
	border-color: var(--apollo-border, #e5e7eb);
}

.apollo-redesign-sub__table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 0.85rem;
}

.apollo-redesign-sub__table th,
.apollo-redesign-sub__table td {
	text-align: left;
	padding: 0.5rem 0.35rem;
	border-bottom: 1px solid var(--apollo-border, #e5e7eb);
	vertical-align: top;
	font-size: 0.9rem;
}

.apollo-redesign-sub__table th {
	width: 32%;
	color: var(--apollo-muted, #6b7280);
	font-weight: 600;
}

/* Floating profile icon — fixed to the page viewport */
.apollo-redesign-float-profile {
	position: fixed;
	right: 1.25rem;
	bottom: 1.25rem;
	z-index: 99999;
	pointer-events: none;
}

.apollo-redesign-float-profile .apollo-redesign-profile {
	pointer-events: auto;
	position: relative;
}

.apollo-redesign-float-profile__btn,
.apollo-redesign-float-profile .apollo-redesign-profile__toggle {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 3.25rem !important;
	height: 3.25rem !important;
	min-width: 3.25rem;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(145deg, #3b82f6, #1d4ed8) !important;
	color: #fff !important;
	font-weight: 700;
	font-size: 0.95rem;
	box-shadow: 0 8px 24px rgba(29, 78, 216, 0.45), 0 2px 6px rgba(15, 23, 42, 0.2);
	cursor: pointer;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.apollo-redesign-float-profile__btn:hover,
.apollo-redesign-float-profile .apollo-redesign-profile__toggle:hover {
	transform: translateY(-2px) scale(1.04);
	box-shadow: 0 12px 28px rgba(29, 78, 216, 0.5), 0 4px 10px rgba(15, 23, 42, 0.22);
}

.apollo-redesign-float-profile__btn:focus-visible,
.apollo-redesign-float-profile .apollo-redesign-profile__toggle:focus-visible {
	outline: 3px solid #93c5fd;
	outline-offset: 3px;
}

.apollo-redesign-float-profile .apollo-redesign-profile__initials {
	width: auto;
	height: auto;
	background: transparent;
	color: #fff;
	font-size: 1rem;
}

.apollo-redesign-float-profile .apollo-redesign-profile__menu {
	position: absolute;
	right: 0;
	bottom: calc(100% + 0.65rem);
	top: auto;
	width: min(300px, calc(100vw - 2rem));
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 1rem;
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18);
	padding: 0.85rem;
	z-index: 100000;
}

.apollo-redesign-float-profile .apollo-redesign-profile.is-open .apollo-redesign-float-profile__btn,
.apollo-redesign-float-profile .apollo-redesign-profile.is-open .apollo-redesign-profile__toggle {
	box-shadow: 0 0 0 3px rgba(147, 197, 253, 0.9), 0 8px 24px rgba(29, 78, 216, 0.45);
}

@media (max-width: 782px) {
	.apollo-redesign-float-profile {
		bottom: 1rem;
		right: 1rem;
	}
}

/* Never show floating profile on Apollo portal pages */
body.apollo-redesign-enabled .apollo-redesign-float-profile {
	display: none !important;
}

/* Larger profile avatar in Apollo top-right bar */
.apollo-redesign__topbar-actions {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin-left: auto;
}

.apollo-redesign__topbar .apollo-redesign-profile__toggle {
	width: 2.85rem !important;
	height: 2.85rem !important;
	min-width: 2.85rem;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--apollo-primary, #2563eb) !important;
	color: #fff !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 8px rgba(37, 99, 235, 0.35);
}

.apollo-redesign__topbar .apollo-redesign-profile__initials {
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
	background: transparent;
}

.apollo-redesign__topbar .apollo-redesign-profile__caret {
	display: none;
}

.apollo-redesign__topbar .apollo-redesign-profile__menu {
	right: 0;
	left: auto;
	top: calc(100% + 0.5rem);
	min-width: 16.5rem;
}

/* Form / sidebar shell pages — title above content; form uses full main column */
body.apollo-redesign-form-shell .apollo-redesign__content,
body.apollo-redesign-sidebar-shell .apollo-redesign__content,
.apollo-redesign-app:has(.apollo-redesign-form-page) .apollo-redesign__content {
	max-width: none !important;
	width: 100% !important;
	flex: 1 1 auto;
	padding-left: var(--apollo-form-content-padding, 16px);
	padding-right: var(--apollo-form-content-padding, 16px);
	box-sizing: border-box;
}

body.apollo-redesign-form-shell .apollo-redesign-app__main,
body.apollo-redesign-sidebar-shell .apollo-redesign-app__main,
.apollo-redesign-app:has(.apollo-redesign-form-page) .apollo-redesign-app__main {
	width: 100%;
	max-width: none;
	min-width: 0;
}

/* Beat Astra’s ~1200px container on form / shell pages */
body.apollo-redesign-form-shell.apollo-redesign-full-width .ast-container,
body.apollo-redesign-form-shell.apollo-redesign-full-width .site-content,
body.apollo-redesign-form-shell.apollo-redesign-full-width #content,
body.apollo-redesign-form-shell.apollo-redesign-full-width #primary,
body.apollo-redesign-form-shell.apollo-redesign-full-width .content-area,
body.apollo-redesign-form-shell.apollo-redesign-full-width .entry-content,
body.apollo-redesign-sidebar-shell.apollo-redesign-full-width .ast-container,
body.apollo-redesign-sidebar-shell.apollo-redesign-full-width .site-content,
body.apollo-redesign-sidebar-shell.apollo-redesign-full-width .entry-content {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.apollo-redesign-form-shell {
	--ast-normal-container-width: 100%;
	--ast-container-default-xlg-padding: 0;
	--ast-container-default-lg-padding: 0;
}

/* Astra-style page title once, above the form — sidebar navy */
.apollo-redesign-form-page__title,
h1.entry-title.apollo-redesign-form-page__title {
	margin: 0 0 0.85rem;
	padding: 0;
	font-family: inherit;
	font-size: 0.925rem;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.02em;
	color: var(--apollo-secondary, #0b1b35);
	width: 100%;
	max-width: var(--apollo-form-max-width-desktop, 100%);
}

.apollo-redesign-form-page {
	max-width: var(--apollo-form-max-width-desktop, 100%);
	width: 100%;
	margin: 0;
	background: #fff;
	border: 1px solid var(--apollo-border, #e5e7eb);
	border-radius: 1rem;
	box-shadow: var(--apollo-shadow);
	padding: 1.5rem 1.75rem 2rem;
	box-sizing: border-box;
}

.apollo-redesign-page-body {
	max-width: 100%;
	width: 100%;
}

.apollo-redesign__topbar-spacer {
	flex: 1 1 auto;
}

body.apollo-redesign-form-shell .apollo-redesign__topbar {
	min-height: 3.25rem;
	padding-top: 0.55rem;
	padding-bottom: 0.55rem;
	align-items: center;
}

/* Page title once above the form card — never in the Apollo topbar on form pages */
body.apollo-redesign-form-shell .apollo-redesign__topbar-text,
body.apollo-redesign-form-shell .apollo-redesign__page-title {
	display: none !important;
}

.apollo-redesign-form-page .nf-form-cont,
.apollo-redesign-form-page .nf-form-layout,
.apollo-redesign-form-page .ninja-forms-form,
.apollo-redesign-form-page .nf-form-content,
.apollo-redesign-form-page .nf-form-wrap,
.apollo-redesign-form-page .nf-before-form,
.apollo-redesign-form-page .nf-after-form,
.apollo-redesign-form-page .nf-form-fields-required,
.apollo-redesign-form-page form {
	max-width: none !important;
	width: 100% !important;
	box-sizing: border-box;
}

body.apollo-redesign-form-shell .apollo-redesign-form-page .wp-block-columns,
body.apollo-redesign-form-shell .apollo-redesign-form-page .wp-block-column,
body.apollo-redesign-form-shell .apollo-redesign-form-page .uagb-column__inner-wrap,
body.apollo-redesign-form-shell .apollo-redesign-form-page .uagb-container,
body.apollo-redesign-form-shell .apollo-redesign-form-page .alignwide,
body.apollo-redesign-form-shell .apollo-redesign-form-page .alignfull {
	max-width: none !important;
	width: 100% !important;
	flex-basis: 100% !important;
}

/* Hide Ninja Forms form title — page title is already above the card */
.apollo-redesign-form-page .nf-form-title,
.apollo-redesign-form-page h3.nf-form-title {
	display: none !important;
}

body.apollo-redesign-form-shell .entry-content > .apollo-redesign-app-wrap,
body.apollo-redesign-form-shell .apollo-redesign-app,
body.apollo-redesign-sidebar-shell .entry-content > .apollo-redesign-app-wrap,
body.apollo-redesign-sidebar-shell .apollo-redesign-app {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* Hide theme duplicate titles outside Apollo content */
body.apollo-redesign-hide-astra-title .entry-header,
body.apollo-redesign-hide-astra-title .entry-header .entry-title,
body.apollo-redesign-hide-astra-title .ast-single-post .entry-header,
body.apollo-redesign-hide-astra-title .ast-article-single > .entry-header,
body.apollo-redesign-hide-astra-title header.entry-header,
body.apollo-redesign-hide-astra-title .page-header,
body.apollo-redesign-hide-astra-title .ast-page-title,
body.apollo-redesign-hide-astra-title .site-content > .ast-container > .entry-header,
body.apollo-redesign-hide-astra-title #content .entry-header,
body.apollo-redesign-hide-astra-title .ast-container > article > .entry-header,
body.apollo-redesign-form-shell .apollo-redesign-form-page > h1.entry-title:not(.apollo-redesign-form-page__title),
body.apollo-redesign-form-shell .apollo-redesign-form-page > .wp-block-post-title {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	visibility: hidden !important;
}

.apollo-redesign__nav-icon img {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	object-fit: contain;
}

/* Format Astra / theme primary menu (including page-list fallback) */
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .main-header-bar-navigation,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .ast-builder-menu,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .site-header-primary-section-right,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .site-header-section {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.25rem 0.5rem;
}

body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .main-header-menu,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .ast-nav-menu,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .ast-builder-menu .menu,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) #masthead .menu,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .site-header .menu,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .main-navigation > ul,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .ast-header-navigation > ul {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.15rem 0.35rem;
	list-style: none !important;
	margin: 0 !important;
	padding: 0.35rem 0 !important;
}

body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .main-header-menu > .menu-item,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .ast-nav-menu > .menu-item,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) #masthead .menu > .menu-item,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) #masthead .menu > .page_item,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .site-header .menu > li,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .main-navigation > ul > li {
	display: inline-flex !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .main-header-menu > .menu-item > a,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .ast-nav-menu > .menu-item > a,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) #masthead .menu > li > a,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .site-header .menu > li > a,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .main-navigation > ul > li > a {
	display: inline-flex !important;
	align-items: center;
	padding: 0.45rem 0.75rem !important;
	margin: 0 !important;
	border-radius: 0.45rem;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	white-space: nowrap;
	text-decoration: none !important;
	color: #374151 !important;
}

body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .main-header-menu > .menu-item > a:hover,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .ast-nav-menu > .menu-item > a:hover,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) #masthead .menu > li > a:hover,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .site-header .menu > li > a:hover,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .main-navigation > ul > li > a:hover,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .main-header-menu > .menu-item.current-menu-item > a,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .ast-nav-menu > .current-menu-item > a,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) #masthead .menu > .current_page_item > a {
	background: #eff6ff !important;
	color: #1d4ed8 !important;
}

body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .ast-builder-layout-element[data-section*="header-menu"] .menu-link,
body.apollo-redesign-enabled:not(.apollo-redesign-app-chrome) .ast-builder-menu .menu-link {
	padding: 0.45rem 0.75rem !important;
}

.apollo-redesign-app {
	display: grid;
	grid-template-columns: var(--apollo-sidebar-width, 248px) minmax(0, 1fr);
	min-height: 70vh;
	background: var(--apollo-background, #f3f5f8);
	border-radius: 0;
	overflow: hidden;
	width: 100%;
}

.apollo-redesign__sidebar {
	background: var(--apollo-secondary, #0b1b35);
	color: #e5e7eb;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 1.25rem 0.85rem 1rem;
	position: sticky;
	top: 0;
	align-self: start;
	height: 100vh;
	z-index: 30;
}

.apollo-redesign__brand {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.35rem 0.65rem 1.35rem;
}

.apollo-redesign__brand-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 0.55rem;
	background: linear-gradient(135deg, #3b82f6, #f59e0b);
	color: #fff;
	font-weight: 800;
	font-size: 1rem;
}

.apollo-redesign__brand-text {
	font-size: 0.95rem;
	letter-spacing: 0.02em;
	color: #f8fafc;
}

.apollo-redesign__brand-text strong {
	font-weight: 700;
}

.apollo-redesign__nav {
	flex: 1 1 auto;
}

.apollo-redesign__nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.apollo-redesign__nav-section {
	list-style: none;
	margin: 0.85rem 0 0.15rem;
	padding: 0.35rem 0.85rem 0.1rem;
}

.apollo-redesign__nav-section-label {
	display: block;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.45);
}

.apollo-redesign__nav-link {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.7rem 0.85rem;
	border-radius: 0.65rem;
	color: #cbd5e1;
	text-decoration: none;
	font-size: 0.925rem;
	font-weight: 500;
	min-height: var(--apollo-min-tap, 44px);
	position: relative;
	transition: background 0.15s ease, color 0.15s ease;
}

.apollo-redesign__nav-link:hover,
.apollo-redesign__nav-link:focus-visible {
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	outline: none;
}

.apollo-redesign__nav-link.is-active {
	background: #1e3a8a;
	color: #fff;
}

.apollo-redesign__nav-link.is-active::before {
	content: "";
	position: absolute;
	left: -0.85rem;
	top: 20%;
	bottom: 20%;
	width: 3px;
	border-radius: 0 3px 3px 0;
	background: #60a5fa;
}

.apollo-redesign__nav-icon {
	display: inline-flex;
	color: inherit;
}

.apollo-redesign__nav-icon .apollo-redesign-icon {
	width: 1.2rem;
	height: 1.2rem;
}

.apollo-redesign__sidebar-footer {
	margin-top: auto;
	padding-top: 1rem;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.apollo-redesign-app__main {
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: var(--apollo-background, #f3f5f8);
}

.apollo-redesign__topbar {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.5rem var(--apollo-content-padding, 32px) 0.75rem;
	background: transparent;
}

.apollo-redesign__menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border: 1px solid var(--apollo-border, #e5e7eb);
	border-radius: 0.65rem;
	background: #fff;
	color: var(--apollo-text, #111827);
	cursor: pointer;
}

.apollo-redesign__page-title {
	margin: 0;
	font-size: clamp(1.65rem, 2.2vw, 2rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--apollo-text, #111827);
}

.apollo-redesign__page-subtitle {
	margin: 0.35rem 0 0;
	color: var(--apollo-muted, #6b7280);
	font-size: 0.975rem;
}

.apollo-redesign__topbar-actions {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	position: relative;
}

.apollo-redesign__icon-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: #4b5563;
	cursor: pointer;
}

.apollo-redesign__icon-btn:focus-visible,
.apollo-redesign__avatar:focus-visible,
.apollo-redesign-profile__toggle:focus-visible,
.apollo-redesign__menu-toggle:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--apollo-primary, #2563eb) 45%, transparent);
	outline-offset: 2px;
}

.apollo-redesign__badge-dot {
	position: absolute;
	top: 0.35rem;
	right: 0.35rem;
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 999px;
	background: #ef4444;
	border: 2px solid var(--apollo-background, #f3f5f8);
}

.apollo-redesign-profile {
	position: relative;
}

.apollo-redesign-profile__toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	width: auto;
	min-width: 2.5rem;
	padding: 0 0.45rem 0 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.apollo-redesign-profile__initials,
.apollo-redesign__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	background: #dbeafe;
	color: #1e40af;
	font-weight: 700;
	font-size: 0.8rem;
}

.apollo-redesign-profile__caret {
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid #6b7280;
}

.apollo-redesign-profile.is-open .apollo-redesign-profile__caret {
	transform: rotate(180deg);
}

.apollo-redesign-profile__menu {
	position: absolute;
	right: 0;
	top: calc(100% + 0.45rem);
	width: min(280px, 86vw);
	background: #fff;
	border: 1px solid var(--apollo-border, #e5e7eb);
	border-radius: 0.85rem;
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.14);
	padding: 0.75rem;
	z-index: 50;
}

.apollo-redesign-profile__summary {
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
	padding: 0.35rem 0.35rem 0.85rem;
	border-bottom: 1px solid var(--apollo-border, #e5e7eb);
	margin-bottom: 0.35rem;
}

.apollo-redesign-profile__avatar-lg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 999px;
	background: #dbeafe;
	color: #1e40af;
	font-weight: 700;
	flex-shrink: 0;
}

.apollo-redesign-profile__meta {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 0;
}

.apollo-redesign-profile__name {
	font-size: 0.95rem;
	color: #111827;
}

.apollo-redesign-profile__email,
.apollo-redesign-profile__role {
	font-size: 0.8rem;
	color: #6b7280;
	word-break: break-word;
}

.apollo-redesign-profile__links {
	list-style: none;
	margin: 0;
	padding: 0.25rem 0 0;
}

.apollo-redesign-profile__links a {
	display: block;
	padding: 0.55rem 0.45rem;
	border-radius: 0.45rem;
	color: #111827;
	text-decoration: none;
	font-size: 0.9rem;
	font-weight: 500;
}

.apollo-redesign-profile__links a:hover,
.apollo-redesign-profile__links a:focus-visible {
	background: #f3f4f6;
	outline: none;
}

.apollo-redesign-profile__logout {
	color: #b91c1c !important;
}

.apollo-redesign-profile__switch {
	padding: 0.15rem 0;
}

.apollo-redesign-profile__switch-toggle,
.apollo-redesign-profile__switch-back {
	display: block;
	width: 100%;
	text-align: left;
	padding: 0.55rem 0.45rem;
	border: 0;
	border-radius: 0.45rem;
	background: transparent;
	color: #111827;
	font-size: 0.9rem;
	font-weight: 500;
	cursor: pointer;
	font-family: inherit;
}

.apollo-redesign-profile__switch-toggle:hover,
.apollo-redesign-profile__switch-back:hover,
.apollo-redesign-profile__switch-toggle:focus-visible,
.apollo-redesign-profile__switch-back:focus-visible {
	background: #f3f4f6;
	outline: none;
}

.apollo-redesign-profile__switch-panel {
	padding: 0.35rem 0.45rem 0.55rem;
}

.apollo-redesign-profile__switch-search {
	width: 100%;
	box-sizing: border-box;
	min-height: 2.25rem;
	padding: 0.4rem 0.6rem;
	border: 1px solid var(--apollo-border, #e5e7eb);
	border-radius: 0.45rem;
	font-size: 0.875rem;
}

.apollo-redesign-profile__switch-results {
	list-style: none;
	margin: 0.4rem 0 0;
	padding: 0;
	max-height: 12rem;
	overflow: auto;
}

.apollo-redesign-profile__switch-user {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.1rem;
	width: 100%;
	text-align: left;
	padding: 0.45rem 0.5rem;
	border: 0;
	border-radius: 0.4rem;
	background: transparent;
	cursor: pointer;
	font-family: inherit;
}

.apollo-redesign-profile__switch-user:hover,
.apollo-redesign-profile__switch-user:focus-visible {
	background: #eff6ff;
	outline: none;
}

.apollo-redesign-profile__switch-user strong {
	font-size: 0.875rem;
	color: #111827;
}

.apollo-redesign-profile__switch-user span {
	font-size: 0.75rem;
	color: var(--apollo-muted, #6b7280);
}

.apollo-redesign-profile__switch-empty {
	padding: 0.5rem;
	font-size: 0.8rem;
	color: var(--apollo-muted, #6b7280);
}

.apollo-redesign-switch-banner {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100000;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.75rem 1rem;
	padding: 0.55rem 1rem;
	background: #1e3a8a;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 500;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.2);
}

.apollo-redesign-switch-banner__back {
	border: 1px solid rgba(255, 255, 255, 0.55);
	background: transparent;
	color: #fff;
	border-radius: 999px;
	padding: 0.3rem 0.85rem;
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
}

.apollo-redesign-switch-banner__back:hover,
.apollo-redesign-switch-banner__back:focus-visible {
	background: rgba(255, 255, 255, 0.12);
	outline: none;
}

body.admin-bar .apollo-redesign-switch-banner {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar .apollo-redesign-switch-banner {
		top: 46px;
	}
}

.apollo-redesign__content {
	padding: 0.75rem var(--apollo-content-padding, 32px) 1.5rem;
	max-width: var(--apollo-content-max-width, 1200px);
	width: 100%;
}

.apollo-redesign__footer {
	margin-top: auto;
	padding: 1rem var(--apollo-content-padding, 32px) 1.25rem;
	border-top: 1px solid var(--apollo-border, #e5e7eb);
	background: transparent;
	color: var(--apollo-muted, #6b7280);
	font-size: 0.85rem;
}

.apollo-redesign__footer-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.25rem;
	width: 100%;
	max-width: none;
}

.apollo-redesign__footer-copy {
	margin: 0;
	flex: 1 1 auto;
	text-align: center;
	color: var(--apollo-muted, #6b7280);
	white-space: nowrap;
}

.apollo-redesign__footer-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 1rem;
	justify-content: flex-end;
}

.apollo-redesign__footer-link {
	color: var(--apollo-secondary, #0b1b35);
	text-decoration: none;
	font-weight: 500;
	font-size: 0.85rem;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	white-space: nowrap;
}

.apollo-redesign__footer-link:hover,
.apollo-redesign__footer-link:focus-visible {
	color: var(--apollo-primary, #2563eb);
	text-decoration: underline;
	outline: none;
}

.apollo-redesign__footer-help-icon {
	display: inline-flex;
	width: 1rem;
	height: 1rem;
}

.apollo-redesign__footer-help-icon .apollo-redesign-icon {
	width: 1rem;
	height: 1rem;
	display: block;
}

.apollo-redesign__footer p {
	margin: 0;
}

/* Apollo shell footer (Contact Us / DHI News / Knowledge Base) */
body.apollo-redesign-enabled .apollo-redesign__footer {
	display: block;
}

.apollo-redesign__backdrop {
	display: none;
}

/* ========== Department panels ========== */
.apollo-redesign-panel--sections {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
}

.apollo-redesign-sections {
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
	align-items: stretch;
}

.apollo-redesign-section__title {
	margin: 0 0 0.75rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: #111827;
}

.apollo-redesign-section__description {
	margin: -0.35rem 0 0.75rem;
	font-size: 0.85rem;
	color: var(--apollo-muted, #6b7280);
}

.apollo-redesign-section .apollo-redesign-card-grid {
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
	gap: 0.75rem;
}

.apollo-redesign-section .apollo-redesign-empty {
	margin: 0;
	font-size: 0.85rem;
	color: #9ca3af;
}

.apollo-redesign-card__icon-img {
	display: block;
	width: 2rem;
	height: 2rem;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.apollo-redesign-panel__icon .apollo-redesign-dept-icon-img,
.apollo-redesign-card__icon .apollo-redesign-dept-icon-img {
	display: block;
	width: 2rem;
	height: 2rem;
	object-fit: contain;
}

.apollo-redesign-card__icon:has(.apollo-redesign-card__icon-img) {
	background: #fff;
	border: 1px solid var(--apollo-border, #e5e7eb);
}

.apollo-redesign-panel {
	background: #fff;
	border: 1px solid var(--apollo-border, #e5e7eb);
	border-radius: 1rem;
	box-shadow: var(--apollo-shadow);
	padding: 1.35rem 1.35rem 1.5rem;
	margin-bottom: 1.35rem;
}

.apollo-redesign-panel__header {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	margin-bottom: 1.15rem;
}

.apollo-redesign-panel__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.85rem;
	height: 2.85rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--apollo-panel-accent, var(--apollo-primary, #2563eb)) 14%, #fff);
	color: var(--apollo-panel-accent, var(--apollo-primary, #2563eb));
	flex-shrink: 0;
}

.apollo-redesign-panel__icon .apollo-redesign-icon {
	width: 1.35rem;
	height: 1.35rem;
}

.apollo-redesign-panel__title {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--apollo-text, #111827);
}

.apollo-redesign-panel__description {
	margin: 0.15rem 0 0;
	color: var(--apollo-muted, #6b7280);
	font-size: 0.9rem;
}

.apollo-redesign-card-stack {
	display: flex;
	flex-direction: column;
	gap: var(--apollo-gap, 20px);
}

.apollo-redesign-card-grid {
	display: grid;
	grid-template-columns: repeat(var(--apollo-grid-columns, var(--apollo-desktop-columns, 4)), minmax(0, 1fr));
	gap: var(--apollo-gap, 20px);
	width: 100%;
}

.apollo-redesign-empty {
	margin: 0;
	padding: 1.25rem;
	color: var(--apollo-muted, #6b7280);
	background: #fff;
	border: 1px dashed var(--apollo-border, #e5e7eb);
	border-radius: var(--apollo-radius, 12px);
}

/* ========== Cards (mockup tile style) ========== */
.apollo-redesign-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.7rem;
	min-height: var(--apollo-card-min-height, 188px);
	padding: 1.35rem 1.1rem 1rem;
	background: var(--apollo-card-background, #fff);
	border: 1px solid var(--apollo-border, #e5e7eb);
	border-radius: var(--apollo-radius, 12px);
	box-shadow: var(--apollo-shadow);
	color: inherit;
	text-decoration: none;
	outline: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.apollo-redesign-card--clickable {
	cursor: pointer;
}

.apollo-redesign-card--clickable:hover {
	transform: translateY(-3px);
	box-shadow: var(--apollo-shadow-hover);
	border-color: color-mix(in srgb, var(--apollo-card-accent, var(--apollo-primary)) 30%, var(--apollo-border));
}

.apollo-redesign-card:focus-visible {
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--apollo-primary, #2563eb) 40%, transparent), var(--apollo-shadow);
	border-color: var(--apollo-primary, #2563eb);
}

.apollo-redesign-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: 0.85rem;
	background: transparent;
	color: var(--apollo-card-accent, var(--apollo-primary, #2563eb));
	flex-shrink: 0;
}

.apollo-redesign-card__icon .apollo-redesign-icon {
	width: 2rem;
	height: 2rem;
	stroke-width: 1.6;
}

.apollo-redesign-card__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.3rem;
	flex: 1 1 auto;
	width: 100%;
}

.apollo-redesign-card__title {
	font-weight: 700;
	font-size: 0.98rem;
	color: var(--apollo-text, #111827);
	line-height: 1.3;
}

.apollo-redesign-card__description {
	font-size: 0.86rem;
	color: var(--apollo-muted, #6b7280);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	max-width: 16rem;
}

.apollo-redesign-card__footer {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-top: auto;
	min-height: 2rem;
	width: 100%;
}

.apollo-redesign-card__badge {
	display: inline-flex;
	align-items: center;
	padding: 0.15rem 0.5rem;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 600;
	background: #fef3c7;
	color: #92400e;
}

.apollo-redesign-card__action-label {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--apollo-primary, #2563eb);
}

.apollo-redesign-card__arrow {
	display: inline-flex;
	color: var(--apollo-card-accent, var(--apollo-primary, #2563eb));
}

.apollo-redesign-card__arrow .apollo-redesign-icon {
	width: 1.2rem;
	height: 1.2rem;
}

/* Full-width horizontal card */
.apollo-redesign-card--layout-full {
	flex-direction: row;
	align-items: center;
	text-align: left;
	min-height: 4.5rem;
	padding: 1rem 1.25rem;
	gap: 1rem;
}

.apollo-redesign-card--layout-full .apollo-redesign-card__content {
	align-items: flex-start;
	flex: 1 1 auto;
}

.apollo-redesign-card--layout-full .apollo-redesign-card__description {
	max-width: none;
}

.apollo-redesign-card--layout-full .apollo-redesign-card__footer {
	width: auto;
	margin-top: 0;
	justify-content: flex-end;
}

.apollo-redesign-card--layout-full .apollo-redesign-card__icon {
	width: 2.75rem;
	height: 2.75rem;
}

/* Standalone dashboard (no shell) */
.apollo-redesign-dashboard {
	max-width: var(--apollo-content-max-width, 1200px);
	margin: 0 auto;
	padding: var(--apollo-content-padding, 32px);
}

.apollo-redesign-dashboard__title {
	margin: 0 0 0.35rem;
	font-size: clamp(1.5rem, 2vw, 1.875rem);
	font-weight: 700;
	color: var(--apollo-text, #111827);
}

.apollo-redesign-dashboard__description {
	margin: 0 0 1.25rem;
	color: var(--apollo-muted, #6b7280);
}

/* Hide Astra header only when opted in */
body.apollo-redesign-hide-astra-header #masthead,
body.apollo-redesign-hide-astra-header .site-header,
body.apollo-redesign-hide-astra-header .main-header-bar,
body.apollo-redesign-hide-astra-header .main-header-bar-wrap,
body.apollo-redesign-hide-astra-header .ast-above-header,
body.apollo-redesign-hide-astra-header .ast-below-header,
body.apollo-redesign-hide-astra-header .ast-main-header-wrap,
body.apollo-redesign-hide-astra-header .ast-primary-header-bar,
body.apollo-redesign-hide-astra-header .ast-desktop-header,
body.apollo-redesign-hide-astra-header .ast-mobile-header-wrap,
body.apollo-redesign-hide-astra-header header.site-header,
body.apollo-redesign-hide-astra-header .ast-header-break-point .main-header-bar {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	overflow: hidden !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/* Hide Astra footer on shell pages (Apollo footer is used) */
body.apollo-redesign-hide-astra-footer #colophon,
body.apollo-redesign-hide-astra-footer .site-footer,
body.apollo-redesign-hide-astra-footer .ast-footer-overlay,
body.apollo-redesign-hide-astra-footer .ast-footer-adv,
body.apollo-redesign-hide-astra-footer footer.site-footer {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	overflow: hidden !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

body.apollo-redesign-enabled.apollo-redesign-full-width #content,
body.apollo-redesign-enabled.apollo-redesign-full-width .site-content,
body.apollo-redesign-enabled.apollo-redesign-full-width .ast-container,
body.apollo-redesign-enabled.apollo-redesign-full-width .entry-content,
body.apollo-redesign-enabled.apollo-redesign-full-width .ast-width-md,
body.apollo-redesign-enabled.apollo-redesign-full-width #primary,
body.apollo-redesign-enabled.apollo-redesign-full-width .content-area {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin: 0 !important;
}

body.apollo-redesign-enabled .entry-content > .apollo-redesign-app,
body.apollo-redesign-enabled .apollo-redesign-app {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	min-height: 100vh;
}

body.apollo-redesign-app-chrome .site-content {
	padding-top: 0 !important;
}

body.apollo-redesign-enabled {
	background: var(--apollo-background, #f3f5f8);
}

/* Astra-safe full width */
body.apollo-redesign-enabled.apollo-redesign-full-width .site-content,
body.apollo-redesign-enabled.apollo-redesign-full-width .ast-container,
body.apollo-redesign-enabled.apollo-redesign-full-width .entry-content {
	max-width: 100%;
	width: 100%;
}

body.apollo-redesign-enabled.apollo-redesign-hide-astra-title .entry-header .entry-title,
body.apollo-redesign-enabled.apollo-redesign-hide-astra-title .ast-single-post .entry-header,
body.apollo-redesign-enabled.apollo-redesign-hide-astra-title .entry-header,
body.apollo-redesign-enabled.apollo-redesign-hide-astra-title h1.entry-title:not(.apollo-redesign-form-page__title) {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	visibility: hidden !important;
}

@media (max-width: 1200px) {
	.apollo-redesign-card-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.apollo-redesign-card-grid {
		grid-template-columns: repeat(var(--apollo-tablet-columns, 2), minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.apollo-redesign-app {
		grid-template-columns: 1fr;
		margin: 0;
		width: 100%;
		max-width: 100%;
	}

	.apollo-redesign__menu-toggle {
		display: inline-flex;
	}

	.apollo-redesign__sidebar {
		position: fixed;
		inset: 0 auto 0 0;
		width: min(86vw, var(--apollo-sidebar-width, 248px));
		transform: translateX(-105%);
		transition: transform 0.2s ease;
		height: 100vh;
	}

	.apollo-redesign-app.is-nav-open .apollo-redesign__sidebar {
		transform: translateX(0);
	}

	.apollo-redesign__backdrop {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(15, 23, 42, 0.45);
		z-index: 25;
	}

	.apollo-redesign__backdrop[hidden] {
		display: none;
	}

	.apollo-redesign__topbar {
		align-items: center;
		padding-top: 1rem;
	}
}

@media (max-width: 768px) {
	.apollo-redesign-card-grid {
		grid-template-columns: repeat(var(--apollo-mobile-columns, 1), minmax(0, 1fr));
	}

	.apollo-redesign__content,
	.apollo-redesign__topbar,
	.apollo-redesign__footer {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.apollo-redesign__footer-inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.apollo-redesign__footer-copy {
		text-align: left;
		white-space: normal;
	}

	.apollo-redesign__footer-nav {
		justify-content: flex-start;
	}

	.apollo-redesign-card--layout-full {
		flex-wrap: wrap;
	}
}

@media (prefers-reduced-motion: reduce) {
	.apollo-redesign-card,
	.apollo-redesign-card--clickable:hover,
	.apollo-redesign__sidebar {
		transition: none;
		transform: none;
	}
}

@media (prefers-contrast: more) {
	.apollo-redesign-card,
	.apollo-redesign-panel {
		border-width: 2px;
		box-shadow: none;
	}
}
