@media (max-width: 1279px) {
	.apcs-site-header__inner,
	.apcs-rainbow-bar__inner,
	.apcs-participation__inner {
		padding-inline: 24px;
	}

	.apcs-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.apcs-cta-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body.logged-in.woocommerce-account .apcs-default-page {
		padding-inline: 24px;
	}
}

@media (max-width: 1024px) {
	body.logged-in.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
		position: static;
		padding-top: 0;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul {
		padding-right: 0;
		padding-bottom: 12px;
		border-right: 0;
		border-bottom: 1px solid #d7d2cc;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
		grid-template-columns: 1fr;
	}

	body.apcs-account-endpoint--conference-status .wp-block-post-content > .alignfull.apcs-page-hero--editorial {
		min-height: 100px !important;
	}

	body.apcs-account-endpoint--conference-status .apcs-page-hero__surface--lead {
		padding: 12px 0 10px !important;
		min-height: 92px !important;
	}

	body.apcs-account-endpoint--conference-status .apcs-page-hero__title {
		font-size: clamp(2rem, 7vw, 2.65rem);
	}
}

@media (max-width: 767px) {
	.apcs-hidden-mobile {
		display: none !important;
	}

	.apcs-hidden-desktop {
		display: block !important;
	}

	.apcs-site-header {
		position: static;
		padding: 8px 0;
		background: rgba(252, 249, 248, 0.96);
		backdrop-filter: none;
	}

	.apcs-site-header__inner {
		padding: 0 16px;
		min-height: auto;
		align-items: center;
		flex-direction: row;
		gap: 12px;
	}

	.apcs-site-brand {
		font-size: 18px;
	}

	.apcs-mobile-nav-bar {
		display: flex;
		align-items: center;
	}

	.apcs-mobile-menu-panel {
		display: block;
	}

	.apcs-hero .wp-block-cover__inner-container {
		padding: 28px 20px 0;
		min-height: 812px;
	}

	.apcs-hero-grid {
		grid-template-columns: 1fr;
		gap: 28px;
		min-height: auto;
	}

	.apcs-hero-title {
		font-size: var(--apcs-hero-title-font-size, clamp(44px, 13.6vw, 64px));
		line-height: 0.95;
		max-width: none;
	}

	.apcs-hero-actions {
		display: grid;
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.apcs-hero-actions .wp-block-button,
	.apcs-hero-actions .wp-block-button .wp-element-button {
		width: 100%;
	}

	.apcs-hero-actions .wp-block-button:not([class*="-font-size"]):not([style*="font-size"]) .wp-element-button:not([class*="-font-size"]) {
		font-size: var(--apcs-hero-action-font-size, 17px);
	}

	.apcs-hero-meta {
		display: block;
		width: calc(100% + 40px);
		margin-inline: -20px;
		padding: 0;
		border: 0;
		align-self: auto;
		max-width: none;
	}

	.apcs-hero-meta-mobile {
		display: none;
	}

	.apcs-key-dates {
		padding-block: 56px 48px;
		padding-inline: 16px;
	}

	.apcs-announcements {
		padding-block: 48px;
	}

	.apcs-section-heading,
	.apcs-section-row,
	.apcs-location__row,
	.apcs-board-meta {
		grid-template-columns: 1fr;
		flex-direction: column;
		align-items: start;
	}

	.apcs-section-heading__meta,
	.apcs-board-meta__summary {
		text-align: left;
		max-width: none;
	}

	.apcs-timeline-board {
		padding: 0;
	}

	.apcs-year-grid,
	.apcs-card-grid,
	.apcs-participation-shell,
	.apcs-cta-grid,
	.apcs-location__cards {
		grid-template-columns: 1fr;
	}

	.apcs-card-grid,
	.apcs-announcements-grid {
		gap: 20px;
	}

	.apcs-card,
	.apcs-announcement-card {
		padding: 24px;
		gap: 16px;
	}

	.apcs-card__media,
	.apcs-card-media {
		height: 156px;
		min-height: 156px;
	}

	.apcs-location__cards > div {
		border-right: 0;
		border-bottom: 1px solid #d9d4d0;
	}

	.apcs-location__cards > div:last-child {
		border-bottom: 0;
	}

	.apcs-rainbow-bar__inner {
		grid-template-columns: 1fr;
		padding: 14px 16px;
		gap: 10px;
	}

	.apcs-rainbow-bar__inner p {
		font-size: 11px;
	}

	.apcs-participation__inner {
		padding: 20px 16px 36px;
		gap: 24px;
	}

	.apcs-action-card {
		min-height: auto;
		padding: 22px 18px;
	}

	.apcs-location {
		padding-top: 48px;
	}

	.apcs-map-shell {
		min-height: 240px;
	}

	body.logged-in.woocommerce-account .apcs-default-page {
		padding: 18px 16px 40px;
	}

	body.logged-in.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
		position: static;
		top: auto;
		padding-top: 0;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: grid;
		grid-template-columns: 1fr;
		gap: 6px;
		padding-right: 0;
		padding-bottom: 0;
		border-bottom: 0;
		border-right: 0;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a {
		min-height: 46px;
		padding: 12px 14px;
		font-size: 11px;
		letter-spacing: 0.1em;
		white-space: normal;
		justify-content: flex-start;
		text-align: left;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
		gap: 18px;
		width: 100%;
	}

	body.apcs-account-endpoint--conference-status .wp-block-post-content > .alignfull.apcs-page-hero--editorial {
		display: none;
	}

	body.apcs-account-endpoint--conference-status .apcs-page-hero__surface--lead {
		padding: 8px 0 6px !important;
		min-height: 72px !important;
	}

	body.apcs-account-endpoint--conference-status .apcs-page-hero__title {
		font-size: clamp(1.8rem, 9.2vw, 2.2rem);
	}

	body.apcs-account-endpoint--conference-status .apcs-default-page {
		padding-top: 8px;
	}

	body.apcs-account-endpoint--conference-status .woocommerce-MyAccount-content {
		order: 1;
		gap: 14px;
	}

	body.apcs-account-endpoint--conference-status .woocommerce-MyAccount-navigation {
		order: 2;
		margin-top: 8px;
	}

	body.apcs-account-endpoint--conference-status .woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-wrap: nowrap;
		gap: 8px;
		padding: 0;
		border: 0;
		overflow-x: auto;
		overflow-y: hidden;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	body.apcs-account-endpoint--conference-status .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
		display: none;
	}

	body.apcs-account-endpoint--conference-status .woocommerce-MyAccount-navigation-link {
		flex: 0 0 auto;
	}

	body.apcs-account-endpoint--conference-status .woocommerce-MyAccount-navigation a {
		min-height: 38px;
		padding: 10px 12px;
		border: 1px solid #d7d2cc;
		border-left-width: 1px;
		background: #fcfbfa;
		font-size: 10.5px;
		letter-spacing: 0.09em;
		white-space: nowrap;
	}

	body.apcs-account-endpoint--conference-status .woocommerce-MyAccount-navigation-link.is-active a,
	body.apcs-account-endpoint--conference-status .woocommerce-MyAccount-navigation-link a[aria-current="page"],
	body.apcs-account-endpoint--conference-status .woocommerce-MyAccount-navigation-link--conference-status a {
		border-color: #1a2e44;
		background: #1a2e44;
		color: #fcfbfa;
		box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.18);
		font-weight: 800;
	}

	body.logged-in.woocommerce-account .apcs-default-page {
		padding: 14px 16px 28px;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content > h2,
	body.logged-in.woocommerce-account .woocommerce-MyAccount-content > h3 {
		font-size: clamp(1.45rem, 6vw, 1.82rem);
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table:not(.apcs-conference-status__table) {
		display: block;
		width: 100%;
		table-layout: auto;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive:not(.apcs-conference-status__table) thead {
		display: none;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive:not(.apcs-conference-status__table) tbody {
		display: block;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive:not(.apcs-conference-status__table) tr {
		display: grid;
		gap: 10px;
		padding: 16px 14px;
		margin-bottom: 12px;
		border: 1px solid #d7d2cc;
		background: #fcfbfa;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive:not(.apcs-conference-status__table) :is(th, td) {
		display: block;
		width: 100%;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table:not(.apcs-conference-status__table) thead th,
	body.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table:not(.apcs-conference-status__table) td {
		padding: 0;
		font-size: 0.88rem;
		line-height: 1.45;
		border: 0;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table:not(.apcs-conference-status__table) td .button,
	body.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table:not(.apcs-conference-status__table) td button {
		width: 100%;
		padding-inline: 12px;
		font-size: 10.5px;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive:not(.apcs-conference-status__table) tr td::before {
		content: attr(data-title);
		display: block;
		margin-bottom: 4px;
		color: var(--apcs-accent);
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.12em;
		line-height: 1.3;
		text-transform: uppercase;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-account-records__table-wrap {
		overflow-x: visible;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-account-records__table-wrap > :is(table.woocommerce-orders-table, table.apcs-account-records__table) {
		display: block !important;
		width: 100% !important;
		table-layout: auto !important;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-account-records__table-wrap > :is(table.woocommerce-orders-table, table.apcs-account-records__table) thead {
		display: none !important;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-account-records__table-wrap > :is(table.woocommerce-orders-table, table.apcs-account-records__table) tbody,
	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-account-records__table-wrap > :is(table.woocommerce-orders-table, table.apcs-account-records__table) tr,
	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-account-records__table-wrap > :is(table.woocommerce-orders-table, table.apcs-account-records__table) :is(th, td) {
		display: block !important;
		width: 100% !important;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-account-records__table-wrap > :is(.woocommerce-orders-table, .apcs-account-records__table) tr {
		display: grid;
		gap: 12px;
		padding: 16px 14px;
		margin-bottom: 12px;
		border: 1px solid #d7d2cc;
		background: #fcfbfa;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-account-records__table-wrap > :is(.woocommerce-orders-table, .apcs-account-records__table) tbody tr:first-child {
		border-top: 1px solid #d7d2cc;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-account-records__table-wrap > :is(.woocommerce-orders-table, .apcs-account-records__table) :is(th, td) {
		display: grid !important;
		grid-template-columns: minmax(6.5rem, auto) minmax(0, 1fr);
		gap: 10px;
		align-items: start;
		padding: 0;
		border: 0;
		text-align: left;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-account-records__table-wrap > :is(.woocommerce-orders-table, .apcs-account-records__table) :is(th, td) + td,
	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-account-records__table-wrap > :is(.woocommerce-orders-table, .apcs-account-records__table) th + td {
		margin-top: 12px;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-account-records__table-wrap > :is(.woocommerce-orders-table, .apcs-account-records__table) :is(th, td)::before {
		content: attr(data-title);
		display: block;
		margin-bottom: 0;
		color: var(--apcs-accent);
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.12em;
		line-height: 1.3;
		text-transform: uppercase;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-account-records__table-wrap > .woocommerce-orders-table th::before {
		content: attr(data-title);
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-account-records__table-wrap > :is(.woocommerce-orders-table, .apcs-account-records__table) td .button,
	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-account-records__table-wrap > :is(.woocommerce-orders-table, .apcs-account-records__table) td button {
		width: 100%;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-refund-requests__table {
		display: block;
		table-layout: auto;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-refund-requests__table thead {
		display: none;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-refund-requests__table tbody,
	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-refund-requests__table tr,
	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-refund-requests__table td {
		display: block;
		width: 100%;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-refund-requests__table tr {
		display: grid;
		gap: 12px;
		padding: 16px 14px;
		margin-bottom: 12px;
		border: 1px solid #d7d2cc;
		background: #fcfbfa;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-refund-requests__table tbody tr:first-child {
		border-top: 1px solid #d7d2cc;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-refund-requests__table td {
		display: grid;
		grid-template-columns: minmax(6.5rem, auto) minmax(0, 1fr);
		gap: 10px;
		align-items: start;
		padding: 0;
		border: 0;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-refund-requests__table td + td {
		margin-top: 12px;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-refund-requests__table td::before {
		content: attr(data-title);
		display: block;
		margin-bottom: 0;
		color: var(--apcs-accent);
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.12em;
		line-height: 1.3;
		text-transform: uppercase;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content .apcs-refund-requests__table :is(th, td):nth-child(4) {
		width: 100%;
		min-width: 0;
	}

	body.logged-in.woocommerce-account .woocommerce-EditAccountForm {
		grid-template-columns: 1fr;
		padding: 20px;
	}

	body.logged-in.woocommerce-account .woocommerce-EditAccountForm .form-row-first,
	body.logged-in.woocommerce-account .woocommerce-EditAccountForm .form-row-last,
	body.logged-in.woocommerce-account .woocommerce-EditAccountForm .form-row-wide,
	body.logged-in.woocommerce-account .woocommerce-EditAccountForm fieldset,
	body.logged-in.woocommerce-account .woocommerce-EditAccountForm > p:last-child {
		grid-column: 1 / -1;
	}

	body.logged-in.woocommerce-account .woocommerce-EditAccountForm fieldset {
		padding: 16px;
	}

	body.logged-in.woocommerce-account .woocommerce-EditAccountForm > p:last-child .button,
	body.logged-in.woocommerce-account .woocommerce-EditAccountForm > p:last-child button,
	body.logged-in.woocommerce-account .woocommerce-EditAccountForm > p:last-child input[type="submit"] {
		width: 100%;
	}

}

@media (max-width: 1279px) {
	.apcs-announcements-grid,
	.apcs-cta-actions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	body.logged-in.woocommerce-account {
		overflow-x: hidden;
	}

	.apcs-site-header__inner {
		padding: 0 16px;
	}

	.apcs-hero-inner,
	.apcs-keydates-board > .wp-block-group,
	.apcs-announcements-grid,
	.apcs-cta-inner,
	.apcs-cta-actions,
	.apcs-location-grid {
		grid-template-columns: 1fr;
	}

	.apcs-hero-inner {
		gap: 28px;
		min-height: auto;
	}

	.apcs-display-heading {
		font-size: clamp(40px, 12vw, 64px);
		line-height: 1.02;
	}

	.apcs-hero-actions {
		display: grid;
		grid-template-columns: 1fr;
		margin-top: 0;
	}

	.apcs-hero-actions .wp-block-button,
	.apcs-hero-actions .wp-block-button .wp-element-button {
		width: 100%;
	}

	.apcs-hero-meta {
		padding: 0;
		border: 0;
	}

	.apcs-keydates-header,
	.apcs-announcements-header,
	.apcs-location-header {
		grid-template-columns: 1fr;
	}

	.apcs-keydates-board {
		padding: 20px 18px;
	}

	.apcs-keydates-board::after {
		margin-left: 0;
		max-width: none;
		text-align: left;
	}

	.apcs-timeline-card {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.apcs-cta-ribbon-inner {
		grid-template-columns: 1fr;
		padding: 14px 16px;
		gap: 10px;
	}

	.apcs-cta-inner {
		padding: 24px 16px 40px;
		gap: 24px;
	}

	.apcs-cta-card {
		min-height: auto;
		padding: 24px 20px;
	}

	.apcs-location-card {
		border-right: 0;
		border-bottom: 1px solid #d9d4d0;
	}

	.apcs-location-card:last-child {
		border-bottom: 0;
	}

	.apcs-map-shell {
		min-height: 280px;
	}

}

@media (max-width: 767px) {
	.apcs-site-header__inner {
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: flex-start;
	}

	.apcs-site-brand {
		font-size: 16px;
		line-height: 1.1;
		white-space: nowrap;
	}

	.apcs-mobile-nav-bar {
		width: auto;
		flex: 0 0 auto;
		gap: 8px;
	}

	.apcs-mobile-register .wp-element-button {
		padding: 8px 16px;
	}

	.apcs-hero-title {
		font-size: var(--apcs-hero-title-font-size, clamp(44px, 13.6vw, 64px));
	}

	.apcs-hero-meta-mobile {
		display: none;
	}

	.apcs-keydates-board {
		padding: 26px 22px 24px;
	}

	.apcs-card-grid,
	.apcs-announcements-grid {
		gap: 16px;
	}

	.apcs-card,
	.apcs-announcement-card {
		padding: 18px 18px 16px;
		gap: 12px;
	}

	.apcs-card__media,
	.apcs-card-media {
		height: 106px;
		min-height: 106px;
	}

	.apcs-participation__inner,
	.apcs-cta-inner {
		padding: 20px 14px 30px;
	}

	.apcs-action-card,
	.apcs-cta-card {
		min-height: 126px;
		padding: 14px 18px 18px;
		gap: 16px;
	}

	.apcs-location__cards {
		display: block;
		border: 0;
	}

	.apcs-location__cards > div {
		padding: 0;
		border: 0;
	}

	.apcs-location__cards > div:first-child,
	.apcs-location__cards h3,
	.apcs-location__travel-note-label,
	.apcs-map-shell__label {
		display: none;
	}

	.apcs-location__cards p {
		font-size: 16px;
		line-height: 1.56;
		color: #637487;
	}

	.apcs-location__travel-note {
		display: block;
		max-width: none;
		border-top: 0;
		margin-inline: 0;
		padding-top: 0;
	}

	.apcs-location__travel-note-body {
		font-size: 16px;
		line-height: 1.56;
		color: #637487;
	}

	.apcs-map-shell {
		min-height: 292px;
		margin-top: 0;
	}

	.apcs-key-dates .apcs-section-heading {
		gap: 18px;
		margin-bottom: 24px;
	}

	.apcs-key-dates .apcs-section-heading__intro,
	.apcs-key-dates .apcs-section-heading__meta {
		max-width: 320px;
	}

	.apcs-key-dates .apcs-section-heading__meta {
		text-align: left;
	}

	.apcs-key-dates-board {
		min-height: auto;
		padding: 0;
	}

	.apcs-key-dates-board__years {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 20px 12px 12px;
	}

	.apcs-key-dates-board__year {
		gap: 12px;
	}

	.apcs-key-dates-card {
		grid-template-columns: 1fr;
		gap: 6px;
		padding: 12px 14px;
	}

	.apcs-key-dates-card--highlight {
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 14px;
	}

	.apcs-announcements {
		padding-block: 48px 42px;
		padding-inline: 16px;
	}

	.apcs-section-row {
		gap: 12px;
		margin-bottom: 24px;
	}

	.apcs-card__title {
		font-size: 16px;
		line-height: 1.32;
	}

	.apcs-card__body {
		font-size: 14px;
		line-height: 1.56;
	}

	.apcs-card__link {
		font-size: 13px;
	}

	.apcs-location__row {
		grid-template-columns: 1fr;
		justify-items: start;
	}

	.apcs-location__row > p {
		justify-self: start;
	}

	.apcs-location__lead {
		font-size: 15px;
		line-height: 1.58;
	}

	.apcs-location__inner {
		padding-inline: 24px;
	}
}
