:root {
	--acs-ink: #18324a;
	--acs-navy: #0d3b66;
	--acs-blue: #2f80ed;
	--acs-sky: #dff1ff;
	--acs-cream: #faf7f0;
	--acs-white: #ffffff;
	--acs-shadow: 0 18px 48px rgba(13, 59, 102, 0.18);
	--acs-radius-xl: 28px;
	--acs-radius-lg: 20px;
	--acs-radius-md: 14px;
	--acs-radius-sm: 10px;
}

.acs-container {
	width: min(1160px, calc(100% - 32px));
	margin: 0 auto;
}

.acs-store-page {
	color: var(--acs-ink);
	width: 100vw;
	margin-left: calc(50% - 50vw);
	overflow: hidden;
	padding-top: 0;
}

.acs-home-cta {
	width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	background: #ffffff;
}

.acs-home-cta__button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 64px;
	padding: 1rem 1.25rem;
	border-radius: 0;
	background: #001C38;
	color: var(--acs-white);
	font-weight: 700;
	font-size: 1.05rem;
	text-decoration: none;
	box-shadow: none;
}

.acs-home-cta__button:hover {
	color: var(--acs-white);
	transform: none;
}

.acs-section-heading {
	margin-bottom: 1.5rem;
}

.acs-section-heading h2 {
	font-size: clamp(1.7rem, 2vw, 2.6rem);
	line-height: 1.1;
	margin: 0;
	color: var(--acs-navy);
}

.acs-section-heading--light h2,
.acs-section-heading--light .acs-kicker {
	color: var(--acs-white);
}

.acs-kicker {
	margin: 0 0 .4rem;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: .8rem;
	font-weight: 700;
	color: var(--acs-blue);
}

.acs-hero,
.acs-faq-panel,
.acs-account-band,
.acs-store-half {
	position: relative;
	background-size: cover;
	background-position: center;
	overflow: hidden;
}

.acs-store-half {
	height: auto;
	min-height: 72vh;
	width: 100%;
	display: flex;
	align-items: stretch;
	box-sizing: border-box;
}

.acs-store-half--top {
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 80vh;
	padding-top: 1.2rem;
}

.acs-store-half--bottom {
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 72vh;
	padding-top: 1rem;
}

.acs-store-half__overlay {
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, .16);
}

.acs-store-half__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.acs-store-half__topbar {
	display: flex;
	justify-content: flex-end;
	gap: 3rem;
	padding: 1.2rem 2rem .95rem;
	font-weight: 700;
	color: #3d3fa3;
	background: rgba(255,255,255,.88);
	flex: 0 0 auto;
}

.acs-store-half__topbar a {
	color: #3d3fa3;
	text-decoration: none;
}

.acs-store-half__content {
	padding: .7rem 6vw 1.4rem;
	height: 100%;
	box-sizing: border-box;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}

.acs-store-half__inner--faq {
	padding: 1.4rem 4.5vw 1.8rem;
}

.acs-hero__overlay,
.acs-faq-panel__overlay,
.acs-account-band__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(135deg, rgba(255,255,255,.28), rgba(255,255,255,.08)),
		rgba(0, 0, 0, 0.04);
}

.acs-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 760px;
	color: var(--acs-white);
}

.acs-hero h1 {
	font-size: clamp(2.6rem, 5vw, 5rem);
	line-height: .96;
	margin: 0 0 1rem;
}

.acs-hero p {
	font-size: 1.08rem;
	line-height: 1.8;
	max-width: 56ch;
}

.acs-actions,
.acs-product-card__actions,
.acs-faq-carousel__controls,
.acs-legal-links {
	display: flex;
	gap: .8rem;
	flex-wrap: wrap;
}

.acs-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	min-height: 48px;
	padding: .85rem 1.3rem;
	border-radius: 999px;
	font-weight: 700;
	text-decoration: none;
	border: 1px solid transparent;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}

.acs-button:hover {
	transform: translateY(-1px);
}

.acs-button--primary {
	background: var(--acs-blue);
	color: var(--acs-white);
	box-shadow: 0 12px 24px rgba(47, 128, 237, .28);
}

.acs-button--ghost {
	background: rgba(255, 255, 255, .16);
	border-color: rgba(255, 255, 255, .42);
	color: var(--acs-white);
	backdrop-filter: blur(8px);
}

.acs-products {
	padding: 5rem 0;
	background: linear-gradient(180deg, #fff, #f8fbff);
}

.acs-product-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem;
	align-items: start;
	flex: 1 1 auto;
	padding-top: .25rem;
}

.acs-product-card {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: none;
	background: transparent;
	min-height: 0;
	display: flex;
	align-items: stretch;
	flex-direction: column;
	padding: .25rem 0 0;
	backdrop-filter: none;
}

.acs-product-card__header,
.acs-product-card__media,
.acs-product-card__body {
	position: relative;
	z-index: 1;
}

.acs-product-card__header {
	color: #3d3fa3;
	padding: 0 0 .4rem;
	text-align: left;
}

.acs-product-card__header h3 {
	margin: 0;
	font-size: 1.15rem;
	line-height: 1.05;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .02em;
	color: #3d3fa3;
}

.acs-product-card__price {
	margin-top: .25rem;
	font-size: 1.05rem;
	line-height: 1;
	font-weight: 700;
	color: #3d3fa3;
}

.acs-product-card__media {
	margin: 0;
	display: flex;
	justify-content: flex-start;
	pointer-events: none;
	padding-bottom: .55rem;
}

.acs-product-card__media img {
	width: min(100%, 360px);
	max-width: 100%;
	height: auto;
	border-radius: 18px;
	filter: none;
}

.acs-product-card__body {
	margin-top: auto;
	padding: 0;
	width: 100%;
	color: var(--acs-white);
	background: transparent;
}

.acs-product-card__copy {
	min-height: 20px;
	margin-bottom: .75rem;
	color: rgba(255,255,255,.94);
	font-size: .9rem;
	line-height: 1.45;
}

.acs-product-card__copy p {
	margin: 0;
}

.acs-product-card__actions {
	flex-direction: column;
	gap: .35rem;
	width: min(100%, 360px);
	align-self: flex-start;
}

.acs-product-card__actions .acs-button {
	width: 100%;
	border-radius: 12px;
	min-height: 34px;
	padding: .45rem .8rem;
	justify-content: flex-start;
	font-size: .95rem;
}

.acs-product-card .acs-button--ghost {
	background: rgba(255,255,255,.84);
	border-color: rgba(255,255,255,.95);
	color: #3d3fa3;
	backdrop-filter: blur(6px);
}

.acs-product-card .acs-button--primary {
	background: #3d3fa3;
	box-shadow: none;
}

.acs-store-login-notice {
	margin: 0 0 1rem;
	padding: .95rem 1.1rem;
	border-radius: 16px;
	background: rgba(255, 255, 255, .82);
	border: 1px solid rgba(76, 87, 184, .18);
	color: #3340ad;
	font-size: .98rem;
	line-height: 1.55;
	backdrop-filter: blur(6px);
}

.acs-store-login-notice a {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: .12em;
}

.acs-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem 1rem;
}

.acs-modal[hidden] {
	display: none;
}

.acs-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, .88);
	backdrop-filter: blur(10px);
}

.acs-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(92vw, 860px);
	max-height: calc(100vh - 4rem);
	overflow: auto;
	background: #ffffff;
	border-radius: 34px;
	box-shadow: 0 24px 90px rgba(0, 0, 0, .24);
	padding: 1.1rem 1.1rem 1.25rem;
}

.acs-modal__close {
	position: absolute;
	top: .95rem;
	right: .95rem;
	z-index: 2;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	border: 1px solid rgba(0,0,0,.28);
	background: #ffffff;
	color: #2d2d2d;
	font-size: 2.2rem;
	line-height: 1;
	cursor: pointer;
}

.acs-modal__hero {
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	min-height: 240px;
}

.acs-modal__hero img {
	display: block;
	width: 100%;
	height: 320px;
	object-fit: cover;
}

.acs-modal__hero-badge {
	position: absolute;
	right: 1.8rem;
	top: 1.8rem;
	max-width: 270px;
	background: linear-gradient(180deg, #4f79bb, #2b5e9c);
	color: #fff;
	border-radius: 28px 28px 28px 6px;
	padding: 1.25rem 1.35rem;
	box-shadow: 0 16px 35px rgba(17, 52, 93, .22);
}

.acs-modal__hero-title {
	display: block;
	font-size: 1.15rem;
	line-height: 1.2;
	margin-bottom: .3rem;
}

.acs-modal__hero-price {
	display: block;
	font-size: 1.95rem;
	font-weight: 700;
	line-height: 1;
}

.acs-modal__sections {
	display: grid;
	gap: .95rem;
	margin-top: .95rem;
}

.acs-modal__section {
	display: grid;
	gap: .9rem;
	align-items: stretch;
	border-radius: 24px;
	overflow: hidden;
	background: #e9eef3;
}

.acs-modal__section-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.acs-modal__section-media--right img {
	object-position: 42% center;
}

.acs-modal__section-content {
	padding: 1rem 1.1rem;
	color: #2f4e78;
	font-size: .95rem;
	line-height: 1.45;
}

.acs-modal__section--full {
	padding: .95rem 1rem 1rem;
}

.acs-modal__section--full .acs-modal__section-content {
	padding: 0;
}

.acs-modal__section--split {
	grid-template-columns: 250px minmax(0, 1fr);
}

.acs-modal__section--tone-gray {
	background: #d5d5d7;
}

.acs-modal__section--tone-pink {
	background: #f8dddd;
}

.acs-modal__section--tone-blue {
	background: #8dd0f1;
}

.acs-modal__section--tone-beige {
	background: #e7d6c5;
}

.acs-modal__section-content--full .acs-modal__cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 1.1rem;
	margin-top: .8rem;
}

.acs-modal__section-content--full ul {
	margin: .35rem 0 0 1.15rem;
	padding: 0;
}

.acs-modal__section-content--full li {
	margin-bottom: .3rem;
}

.acs-modal__section-content--full p {
	margin: 0 0 .55rem;
}

.acs-modal__section-content p {
	margin: 0 0 .7rem;
}

.acs-modal__section-content ul {
	margin: .35rem 0 .55rem 1.1rem;
	padding: 0;
}

.acs-modal__section-content li {
	margin-bottom: .25rem;
}

.acs-modal__section-content strong {
	font-weight: 700;
}

.acs-modal__section-content .acs-popup-note {
	font-size: 1rem;
}

.acs-modal__restrictions {
	padding: .2rem .25rem 0;
	color: #2f4e78;
	font-size: .95rem;
	line-height: 1.4;
}

.acs-modal__restrictions strong {
	display: block;
	margin-bottom: .25rem;
}

.acs-modal__restrictions p {
	margin: 0;
}

.acs-faq-panel {
	min-height: 50vh;
	height: 50vh;
	padding: 0;
	background-position: center top;
	background-image:
		linear-gradient(180deg, rgba(255,255,255,.68), rgba(255,255,255,.24)),
		var(--acs-faq-bg);
	background-size: cover, cover;
	background-repeat: no-repeat;
}

.acs-faq-panel__content {
	position: relative;
	z-index: 1;
	padding-top: 1rem;
	height: 100%;
	box-sizing: border-box;
}

.acs-faq-panel__title {
	margin: 0 0 1rem;
	text-align: center;
	color: #3d3fa3;
	font-size: clamp(1.25rem, 1.55vw, 1.7rem);
	font-weight: 700;
}

.acs-faq-carousel {
	position: relative;
	z-index: 1;
	padding: 1rem 0 0;
	background: transparent;
	box-shadow: none;
	color: #3d3fa3;
	height: calc(100% - 3rem);
	display: flex;
	flex-direction: column;
}

.acs-faq-carousel__viewport {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.1rem;
	align-items: start;
	flex: 1 1 auto;
	overflow: auto;
	padding: .25rem 0;
}

.acs-faq-item {
	background: rgba(255, 255, 255, .82);
	color: #3d3fa3;
	border: 1px solid rgba(61, 63, 163, .75);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: none;
	min-height: 130px;
}

.acs-faq-item summary {
	list-style: none;
	padding: .9rem 1rem 1rem;
	cursor: pointer;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: .8rem;
	font-weight: 500;
	line-height: 1.45;
	color: #3d3fa3;
}

.acs-faq-item summary::-webkit-details-marker {
	display: none;
}

.acs-faq-item__icon {
	width: 18px;
	height: 18px;
	margin-top: .05rem;
	border-right: 2px solid #3d3fa3;
	border-bottom: 2px solid #3d3fa3;
	transform: rotate(-45deg);
	transition: transform .18s ease;
	flex: 0 0 auto;
}

.acs-faq-item[open] .acs-faq-item__icon {
	transform: rotate(45deg);
}

.acs-faq-item__answer {
	padding: 0 1rem .95rem;
	line-height: 1.7;
	color: #3d3fa3;
}

.acs-faq-item__answer p:last-child {
	margin-bottom: 0;
}

.acs-faq-carousel__controls {
	margin-top: 1.1rem;
	justify-content: space-between;
}

.acs-faq-carousel__controls .acs-button {
	width: 50px;
	height: 50px;
	padding: 0;
	border-radius: 50%;
	background: #3d3fa3;
	border-color: #3d3fa3;
	color: transparent;
	position: relative;
	overflow: hidden;
}

.acs-faq-carousel__controls .acs-button::before {
	content: "";
	width: 11px;
	height: 11px;
	border-right: 2px solid #ffffff;
	border-bottom: 2px solid #ffffff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(135deg);
}

.acs-faq-carousel__controls .acs-button[data-acs-faq-next]::before {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.acs-checkout-banner,
.acs-cart-banner {
	margin: 0 0 1rem;
	padding: 1rem 1.2rem;
	border-radius: 18px;
	background: linear-gradient(135deg, rgba(13, 59, 102, .08), rgba(47, 128, 237, .16));
	border: 1px solid rgba(47, 128, 237, .18);
}

body.acs-cart-page .site-content,
body.acs-cart-page #content {
	position: relative;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	padding: 8rem 0 0 !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.38) 100%),
		var(--acs-cart-bg) center top / cover no-repeat;
}

.acs-cart-page-shell {
	max-width: 1220px;
	margin: 0 auto;
	padding: 1.9rem 1.5rem 0;
}

.acs-cart-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 1.8rem;
	align-items: start;
}

.acs-cart-main,
.acs-cart-summary,
.acs-cart-empty {
	background: rgba(255,255,255,.72);
	border: 1px solid rgba(76, 87, 184, .16);
	backdrop-filter: blur(6px);
	box-shadow: 0 12px 34px rgba(0, 28, 56, .08);
}

.acs-cart-main,
.acs-cart-empty {
	border-radius: 18px;
	padding: 1rem;
}

.acs-cart-table {
	width: 100%;
	border-collapse: collapse;
}

.acs-cart-table th,
.acs-cart-table td {
	padding: .95rem .9rem;
	border: 1px solid rgba(76, 87, 184, .16);
	color: #3340ad;
	background: rgba(255,255,255,.46);
	text-align: left;
	vertical-align: middle;
}

.acs-cart-table th {
	font-weight: 700;
}

.acs-cart-table__product a,
.acs-cart-table__product span {
	color: #3340ad;
	font-weight: 600;
	text-decoration: none;
}

.acs-cart-summary {
	border-radius: 18px;
	padding: 1rem 1rem 1.2rem;
}

.acs-cart-summary h3 {
	margin: 0 0 .75rem;
	color: #3340ad;
	font-size: 1rem;
}

.acs-cart-summary__table {
	width: 100%;
	border-collapse: collapse;
	background: rgba(255,255,255,.45);
}

.acs-cart-summary__table th,
.acs-cart-summary__table td {
	padding: .85rem .9rem;
	border: 1px solid rgba(76, 87, 184, .16);
	color: #3340ad;
	text-align: left;
}

.acs-cart-summary__table td {
	text-align: right;
	font-weight: 700;
}

.acs-cart-empty {
	text-align: center;
	padding: 2.2rem 1.2rem;
}

.acs-cart-empty h2 {
	margin: 0 0 .55rem;
	color: #3340ad;
}

.acs-cart-empty p {
	margin: 0 0 1rem;
	color: #3340ad;
}

.acs-cart-banner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin: 0 0 1.3rem;
	padding: 1.05rem 1.35rem;
	background: rgba(255,255,255,.72);
	backdrop-filter: blur(5px);
	border: 1px solid rgba(76, 87, 184, .16);
	box-shadow: 0 12px 34px rgba(0, 28, 56, .08);
}

.acs-cart-banner strong,
.acs-cart-banner span {
	color: #3340ad;
}

body.acs-cart-page .acs-proceed-to-checkout {
	padding-bottom: 0;
}

.acs-cart-acceptance {
	margin: 1rem 0 1rem;
	padding: .85rem .95rem;
	border-radius: 16px;
	background: rgba(255,255,255,.76);
	border: 1px solid rgba(76, 87, 184, .14);
}

.acs-cart-acceptance label {
	display: flex;
	gap: .7rem;
	align-items: flex-start;
	line-height: 1.55;
	font-size: .92rem;
	color: #3340ad;
}

.acs-cart-acceptance input[type="checkbox"] {
	margin-top: .24rem;
}

body.acs-cart-page .acs-proceed-to-checkout a.checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 56px;
	padding: 1rem 1.25rem;
	margin-bottom: 0;
	border-radius: 6px;
	background: #4b49b7 !important;
	border: 0;
	color: #ffffff;
	font-size: 1.15rem;
	font-weight: 700;
}

body.acs-cart-page .acs-proceed-to-checkout a.checkout-button.acs-disabled {
	opacity: .55;
	pointer-events: none;
	filter: grayscale(.05);
}

@media (max-width: 1200px) {
	body.acs-cart-page .site-content,
	body.acs-cart-page #content {
		padding-top: 8.75rem !important;
	}

	body.acs-cart-page .woocommerce {
		padding: 1rem .9rem 0;
	}

	.acs-cart-page-shell {
		padding-top: 1rem;
	}
}

.acs-add-to-cart-button {
	border-radius: 16px !important;
}

.acs-cart-legal {
	margin: 2.2rem 0 0;
	padding: 0;
}

.acs-cart-legal__content {
	padding: 1.3rem 0 0;
	color: rgba(0, 28, 56, .86);
	font-size: .92rem;
	line-height: 1.65;
}

.acs-cart-legal__content h3 {
	margin: 0 0 .5rem;
	color: #3340ad;
	font-size: 1rem;
}

.acs-cart-legal__content p {
	margin: 0 0 1rem;
}

.acs-checkout-acceptance {
	margin: 1rem 0 0;
	padding: 1rem 1.1rem;
	border-radius: 18px;
	background: rgba(223, 241, 255, .75);
	border: 1px solid rgba(47, 128, 237, .18);
}

.acs-checkout-acceptance label {
	display: flex;
	gap: .7rem;
	align-items: flex-start;
	line-height: 1.55;
}

.acs-cart-acceptance a,
.acs-checkout-acceptance a {
	color: #3340ad;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: .15em;
}

.acs-cart-acceptance a:hover,
.acs-checkout-acceptance a:hover {
	color: #1f2b82;
}

.acs-checkout-acceptance input[type="checkbox"] {
	margin-top: .25rem;
}

body.acs-checkout-page .site-content,
body.acs-checkout-page #content {
	position: relative;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	padding: 8rem 0 3rem !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.44) 100%),
		linear-gradient(135deg, #f4f8ff, #edf3ff 58%, #fefefe);
}

body.acs-checkout-page .woocommerce {
	max-width: 1240px;
	margin: 0 auto;
	padding: 1.5rem 1.5rem 0;
}

.acs-checkout-page-shell {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 1.5rem 2.4rem;
	color: #3340ad;
}

.acs-checkout-hero {
	margin-bottom: 1.35rem;
	padding: 1.25rem 1.5rem 0;
}

.acs-checkout-hero h1 {
	margin: .55rem 0 .35rem;
	color: #3340ad;
	font-size: clamp(2rem, 3vw, 3.1rem);
	line-height: 1.05;
}

.acs-checkout-hero p {
	margin: 0;
	max-width: 58ch;
	color: rgba(51, 64, 173, .82);
	line-height: 1.6;
}

.acs-checkout-steps {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem .8rem;
	font-size: .92rem;
	font-weight: 700;
	color: rgba(51, 64, 173, .42);
	text-transform: uppercase;
	letter-spacing: .04em;
}

.acs-checkout-steps span + span::before {
	content: ">";
	margin-right: .75rem;
	color: rgba(51, 64, 173, .3);
}

.acs-checkout-steps .is-active {
	color: #3340ad;
}

.acs-checkout-steps .is-complete {
	color: #7f8de6;
}

.acs-checkout-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 392px;
	gap: 1.5rem;
	align-items: start;
}

.acs-checkout-card {
	background: rgba(255,255,255,.8);
	border: 1px solid rgba(76, 87, 184, .14);
	border-radius: 26px;
	box-shadow: 0 16px 42px rgba(0, 28, 56, .08);
	backdrop-filter: blur(10px);
}

.acs-checkout-card--form {
	padding: 1.4rem;
}

.acs-checkout-card--summary {
	position: sticky;
	top: 7.75rem;
	padding: 1.25rem;
}

.acs-checkout-card h2 {
	margin: 0 0 .4rem;
	color: #3340ad;
	font-size: 1.15rem;
}

.acs-checkout-card__hint {
	margin: 0 0 1.1rem;
	font-size: .95rem;
	color: rgba(51, 64, 173, .76);
}

.acs-checkout-form {
	display: grid;
	gap: 1rem;
}

.acs-checkout-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .95rem;
}

.acs-checkout-form label,
.acs-checkout-form__note {
	display: grid;
	gap: .35rem;
	font-size: .9rem;
	font-weight: 700;
	color: #3340ad;
}

.acs-checkout-form input,
.acs-checkout-form textarea {
	width: 100%;
	border: 1px solid rgba(76, 87, 184, .2);
	border-radius: 12px;
	padding: .86rem .92rem;
	background: rgba(255,255,255,.88);
	color: #3340ad;
	font: inherit;
	box-sizing: border-box;
}

.acs-checkout-form textarea {
	resize: vertical;
	min-height: 110px;
}

.acs-checkout-form input:focus,
.acs-checkout-form textarea:focus {
	outline: none;
	border-color: rgba(47, 128, 237, .7);
	box-shadow: 0 0 0 3px rgba(47, 128, 237, .12);
}

.acs-checkout-summary__table {
	width: 100%;
	border-collapse: collapse;
	margin: .25rem 0 1rem;
}

.acs-checkout-summary__table td,
.acs-checkout-summary__table th {
	padding: .8rem .85rem;
	border-bottom: 1px solid rgba(76, 87, 184, .14);
	color: #3340ad;
	text-align: left;
	vertical-align: top;
}

.acs-checkout-summary__table td {
	text-align: right;
	font-weight: 700;
}

.acs-checkout-summary__qty {
	margin-left: .35rem;
	font-weight: 600;
	color: rgba(51, 64, 173, .66);
}

.acs-checkout-summary__total th,
.acs-checkout-summary__total td {
	border-bottom: 0;
	padding-top: 1rem;
	font-size: 1.02rem;
}

.acs-checkout-payment-card {
	padding: 1rem 1rem 1.1rem;
	border-radius: 22px;
	background: linear-gradient(180deg, rgba(61, 63, 163, .08), rgba(255,255,255,.92));
	border: 1px solid rgba(76, 87, 184, .14);
}

.acs-checkout-payment-card__badge {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	padding: .15rem .55rem;
	margin-bottom: .65rem;
	border-radius: 999px;
	background: rgba(51, 64, 173, .1);
	color: #3340ad;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.acs-checkout-payment-card p {
	margin: 0 0 .95rem;
	color: rgba(51, 64, 173, .78);
	line-height: 1.55;
}

.acs-checkout-payment-card .acs-checkout-acceptance {
	margin: 0 0 1rem;
}

.acs-checkout-pay {
	width: 100%;
	min-height: 54px;
	border-radius: 16px;
	font-size: 1rem;
	letter-spacing: .02em;
}

.acs-checkout-status {
	margin-top: .8rem;
	min-height: 1.2rem;
	font-size: .93rem;
	color: #3340ad;
}

.acs-checkout-empty {
	padding: 2rem 1.2rem;
	border-radius: 24px;
	background: rgba(255,255,255,.82);
	border: 1px solid rgba(76, 87, 184, .14);
	text-align: center;
	box-shadow: 0 16px 42px rgba(0, 28, 56, .08);
}

.acs-checkout-empty h2 {
	margin: 0 0 .45rem;
	color: #3340ad;
}

.acs-checkout-empty p {
	margin: 0 0 1rem;
	color: rgba(51, 64, 173, .8);
}

.acs-checkout-legal {
	margin-top: 2rem;
}

.acs-thankyou-box,
.acs-email-box {
	margin: 1.25rem 0;
	padding: 1.2rem 1.4rem;
	border-radius: 18px;
	background: #f7fbff;
	border: 1px solid rgba(47, 128, 237, .14);
	box-shadow: 0 10px 28px rgba(13, 59, 102, .08);
}

.acs-product-detail-hero {
	display: grid;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.acs-product-detail-hero__banner {
	width: 100%;
	height: auto;
	border-radius: 22px;
	box-shadow: var(--acs-shadow);
}

.acs-product-detail-hero__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.acs-product-detail-hero__grid img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 18px;
	box-shadow: var(--acs-shadow);
}

.acs-loop-more-info {
	margin-left: .5rem;
}

body.acs-store-layout .site-content,
body.acs-store-layout #content {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

body.acs-modal-open {
	overflow: hidden;
}

body.acs-store-layout .site-footer,
body.acs-store-layout #colophon,
body.acs-store-layout footer {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.acs-store-layout .site-footer,
body.acs-store-layout #colophon,
body.acs-store-layout footer,
body.acs-cart-page .site-footer,
body.acs-cart-page #colophon,
body.acs-cart-page footer,
body.acs-account-page .site-footer,
body.acs-account-page #colophon,
body.acs-account-page footer {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.acs-store-layout .site-footer .container,
body.acs-store-layout .site-footer .wrap,
body.acs-store-layout .site-footer .acs-container,
body.acs-store-layout .site-footer .inside-footer,
body.acs-store-layout .site-footer .footer-inner,
body.acs-store-layout .site-footer .footer-widgets,
body.acs-store-layout #colophon .container,
body.acs-store-layout #colophon .wrap,
body.acs-store-layout #colophon .acs-container,
body.acs-cart-page .site-footer .container,
body.acs-cart-page .site-footer .wrap,
body.acs-cart-page .site-footer .acs-container,
body.acs-cart-page .site-footer .inside-footer,
body.acs-cart-page .site-footer .footer-inner,
body.acs-cart-page .site-footer .footer-widgets,
body.acs-cart-page #colophon .container,
body.acs-cart-page #colophon .wrap,
body.acs-cart-page #colophon .acs-container,
body.acs-account-page .site-footer .container,
body.acs-account-page .site-footer .wrap,
body.acs-account-page .site-footer .acs-container,
body.acs-account-page .site-footer .inside-footer,
body.acs-account-page .site-footer .footer-inner,
body.acs-account-page .site-footer .footer-widgets,
body.acs-account-page #colophon .container,
body.acs-account-page #colophon .wrap,
body.acs-account-page #colophon .acs-container {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-bottom: 0 !important;
}

.acs-account-page {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	min-height: calc(100vh - 120px);
	background-size: cover;
	background-position: center 56%;
	background-repeat: no-repeat;
	overflow: visible;
	color: #4c57b8;
}

.acs-account-page__veil {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255,255,255,.74) 0%, rgba(255,255,255,.58) 42%, rgba(255,255,255,.74) 100%);
	backdrop-filter: blur(.7px);
}

.acs-account-page__shell {
	position: relative;
	z-index: 1;
	max-width: 1360px;
	margin: 0 auto;
	padding: 0 0 0;
}

@media (max-width: 960px) {
	body.acs-cart-page .site-content,
	body.acs-cart-page #content {
		padding-top: 12rem !important;
		padding-bottom: 0 !important;
	}

	body.acs-checkout-page .site-content,
	body.acs-checkout-page #content {
		padding-top: 6rem !important;
	}

	body.acs-cart-page .woocommerce {
		padding: 1.2rem .9rem 0;
	}

	body.acs-checkout-page .woocommerce {
		padding: 1.2rem .9rem 0;
	}

	.acs-cart-page-shell {
		padding: 1.1rem .9rem 0;
	}

	.acs-checkout-page-shell {
		padding: 0 .9rem 2rem;
	}

	.acs-checkout-hero {
		padding: 1rem .35rem 0;
	}

	.acs-checkout-grid {
		grid-template-columns: 1fr;
	}

	.acs-checkout-card--summary {
		position: static;
	}

	.acs-checkout-form__grid {
		grid-template-columns: 1fr;
	}

	.acs-cart-layout {
		grid-template-columns: 1fr;
	}

	.acs-cart-banner {
		flex-direction: column;
		align-items: flex-start;
	}

	body.acs-cart-page .cart_totals {
		width: 100%;
	}
}

@media (max-width: 640px) {
	body.acs-cart-page .site-content,
	body.acs-cart-page #content {
		padding-top: 13rem !important;
		padding-bottom: 0 !important;
	}

	body.acs-cart-page .woocommerce {
		padding: .95rem .65rem 0;
	}

	.acs-cart-page-shell {
		padding: .9rem .65rem 0;
	}

	.acs-cart-banner {
		padding: .95rem 1rem;
	}

	.acs-cart-acceptance {
		padding: .8rem .85rem;
	}
}

.acs-account-page__toplinks {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 7rem;
	min-height: 76px;
	padding: 1rem 8.5rem .95rem 0;
	margin-top: 1.1rem;
	background: rgba(255,255,255,.76);
	font-size: .98rem;
	font-weight: 700;
	box-sizing: border-box;
}

.acs-account-page__toplinks a {
	color: #4c57b8;
	text-decoration: none;
}

.acs-account-page__message {
	max-width: 820px;
	margin: 0 auto 1rem;
	padding: .9rem 1rem;
	border-radius: 12px;
	font-weight: 700;
	background: rgba(255,255,255,.84);
	box-shadow: 0 6px 20px rgba(0,0,0,.06);
}

.acs-account-page__message strong {
	display: block;
	margin-bottom: .45rem;
}

.acs-account-page__message ul {
	margin: 0;
	padding-left: 1.1rem;
	font-weight: 500;
}

.acs-account-page__message li + li {
	margin-top: .22rem;
}

.acs-account-page__message--error {
	color: #b42318;
}

.acs-account-page__message--success {
	color: #2d6a4f;
}

.acs-account-page__grid {
	display: grid;
	grid-template-columns: minmax(0, 600px) minmax(0, 620px);
	justify-content: center;
	column-gap: 1.8rem;
	row-gap: 1rem;
	align-items: start;
	padding: 1.9rem 2.4rem 2.2rem;
}

.acs-account-dashboard {
	padding: 2rem 2.4rem 2.8rem;
}

.acs-account-dashboard__card {
	max-width: 1040px;
	margin: 0 auto;
	padding: 1.5rem 1.6rem 1.8rem;
	background: rgba(255,255,255,.84);
	box-shadow: 0 10px 30px rgba(0,0,0,.06);
}

.acs-account-dashboard__card h2 {
	margin: 0 0 .45rem;
	font-size: 1.6rem;
	line-height: 1.1;
	color: #4c57b8;
}

.acs-account-dashboard__welcome {
	margin: 0 0 1.2rem;
	font-size: .98rem;
	color: #5e6696;
}

.acs-account-dashboard__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .9rem 1.1rem;
}

.acs-account-dashboard__grid div {
	display: flex;
	flex-direction: column;
	gap: .25rem;
	padding: .95rem 1rem;
	background: rgba(255,255,255,.72);
	border: 1px solid rgba(76,87,184,.18);
}

.acs-account-dashboard__grid strong {
	font-size: .8rem;
	color: #7b80c2;
}

.acs-account-dashboard__grid span {
	font-size: .95rem;
	color: #26335f;
}

.acs-account-dashboard__actions {
	display: flex;
	gap: .9rem;
	margin-top: 1.3rem;
}

.acs-account-dashboard__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 160px;
	padding: .78rem 1.15rem;
	border-radius: 999px;
	background: #4c57b8;
	color: #fff;
	text-decoration: none;
	font-weight: 700;
}

.acs-account-dashboard__button--ghost {
	background: rgba(255,255,255,.92);
	color: #4c57b8;
	border: 1px solid rgba(76,87,184,.32);
}

.acs-account-card {
	background: rgba(255,255,255,.82);
	box-shadow: none;
	padding: 1rem 1.15rem 1rem;
	min-height: 0;
}

.acs-account-card h2 {
	margin: 0 0 .35rem;
	font-size: 1.1rem;
	line-height: 1.1;
	color: #4c57b8;
}

.acs-account-card__hint {
	margin: 0 0 .45rem;
	font-size: .77rem;
	color: #7b80c2;
}

.acs-account-form {
	display: flex;
	flex-direction: column;
	gap: .28rem;
}

.acs-account-form label {
	font-size: .74rem;
	color: #7c80c0;
	margin-top: .16rem;
}

.acs-account-form input[type="text"],
.acs-account-form input[type="email"],
.acs-account-form input[type="tel"],
.acs-account-form input[type="password"],
.acs-account-form input[type="date"] {
	width: 100%;
	height: 32px;
	border: 1px solid rgba(100, 100, 100, .52);
	border-radius: 0;
	background: rgba(255,255,255,.95);
	padding: .2rem .4rem;
	font-size: .88rem;
	color: #222;
}

.acs-account-form__row {
	display: flex;
	align-items: center;
	gap: .6rem;
	padding: .1rem 0 .18rem;
}

.acs-account-form__checkbox {
	display: flex;
	align-items: flex-start;
	gap: .42rem;
	font-size: .68rem;
	line-height: 1.28;
	color: #6f75b1;
}

.acs-account-form__checkbox input {
	margin-top: .12rem;
}

.acs-account-form__checkbox--privacy {
	margin-top: .15rem;
}

.acs-account-form__legal {
	margin: .08rem 0 .12rem;
	font-size: .66rem;
	line-height: 1.24;
	color: #6a6a6a;
}

.acs-account-form__legal a,
.acs-account-form__forgot {
	color: #4c57b8;
}

.acs-account-form__submit {
	align-self: flex-start;
	min-width: 82px;
	min-height: 28px;
	padding: .25rem .75rem;
	border: 1px solid #666;
	background: #ececec;
	color: #333;
	font-size: .78rem;
	font-weight: 700;
	cursor: pointer;
	margin-top: .45rem;
}

.acs-account-form__forgot {
	font-size: .72rem;
	margin-top: .16rem;
	text-decoration: none;
}

.acs-account-card:first-child {
	min-height: 370px;
}

.acs-account-card--register {
	min-height: 740px;
}

.acs-account-card--register .acs-account-form__submit {
	margin-top: .35rem;
}

body.acs-account-page .site-content,
body.acs-account-page #content,
body.acs-account-page .content-area {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
	flex: 1 0 auto;
}

body.acs-account-page .site-footer,
body.acs-account-page #colophon,
body.acs-account-page footer {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	flex-shrink: 0;
}

body.acs-account-page {
	background: #08284b;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

html body.acs-account-page #page,
html body.acs-account-page .site,
html body.acs-account-page .site-container,
html body.acs-account-page .site-inner,
html body.acs-account-page .main-container,
html body.acs-account-page .page-wrapper,
html body.acs-account-page .content-wrap {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	width: 100%;
}

html body.acs-account-page .site-main,
html body.acs-account-page main,
html body.acs-account-page .main-content {
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
}

html body.acs-account-page .site-footer,
html body.acs-account-page #colophon,
html body.acs-account-page footer {
	margin-top: auto !important;
}

@media (max-width: 960px) {
	.acs-product-grid,
	.acs-faq-carousel__viewport,
	.acs-product-detail-hero__grid {
		grid-template-columns: 1fr;
	}

	.acs-product-grid {
		justify-items: center;
	}

	.acs-product-card {
		min-height: 360px;
		padding: .5rem 0 0;
		width: min(100%, 420px);
		margin: 0 auto;
		align-items: center;
	}

	.acs-store-half__topbar {
		padding: 1.75rem 1rem .9rem;
		gap: 1.2rem;
		font-size: .95rem;
		justify-content: center;
		flex-wrap: wrap;
	}

	.acs-store-half__content,
	.acs-store-half__inner--faq {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.acs-store-half--top {
		padding-top: 1.1rem;
	}

	.acs-store-half {
		min-height: 66vh;
	}

	.acs-store-half--bottom {
		min-height: 68vh;
	}

	.acs-faq-carousel__controls {
		justify-content: center;
	}

	.acs-product-card__header,
	.acs-product-card__media,
	.acs-product-card__body,
	.acs-product-card__actions {
		width: 100%;
	}

	.acs-product-card__header {
		text-align: center;
	}

	.acs-product-card__media {
		justify-content: center;
	}

	.acs-modal__section {
		grid-template-columns: 1fr;
	}

	.acs-modal__section-media {
		max-height: 260px;
		overflow: hidden;
	}

	.acs-modal__hero-badge {
		right: 1rem;
		top: 1rem;
		max-width: 200px;
	}

	.acs-modal__hero img {
		height: 240px;
	}

	.acs-modal__section-content--full .acs-modal__cols {
		grid-template-columns: 1fr;
	}

	.acs-account-page__grid {
		grid-template-columns: 1fr;
		padding: 1rem 1rem 1.5rem;
	}

	.acs-account-dashboard {
		padding: 1rem 1rem 1.8rem;
	}

	.acs-account-dashboard__grid {
		grid-template-columns: 1fr;
	}

	.acs-account-dashboard__actions {
		flex-direction: column;
	}

	.acs-account-page__toplinks {
		gap: 2rem;
		min-height: 88px;
		padding: 1.8rem 1rem 1rem;
		justify-content: center;
		flex-wrap: wrap;
	}

	.acs-site-footer__content,
	.acs-footer__content,
	.site-footer .acs-container,
	footer .acs-container {
		grid-template-columns: 1fr;
		text-align: center;
		justify-items: center;
		gap: 1.5rem;
	}

	.acs-site-footer__brand,
	.acs-site-footer__nav,
	.acs-site-footer__contact,
	.acs-footer__brand,
	.acs-footer__nav,
	.acs-footer__contact {
		width: 100%;
		max-width: 420px;
	}
}

@media (max-width: 640px) {
	.acs-store-half {
		min-height: auto;
		height: auto;
	}

	.acs-product-grid {
		gap: 1rem;
	}

	.acs-product-card {
		min-height: 320px;
		width: min(100%, 380px);
	}

	.acs-store-half__topbar {
		padding-top: 2rem;
		gap: .9rem;
		font-size: .92rem;
	}

	.acs-account-page__toplinks {
		min-height: 96px;
		padding-top: 2.1rem;
		padding-bottom: 1rem;
	}

	.acs-store-half__topbar a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 34px;
	}

	.acs-store-half__content,
	.acs-store-half__inner--faq {
		padding-left: .9rem;
		padding-right: .9rem;
	}

	.acs-faq-panel__title {
		font-size: 1.05rem;
		line-height: 1.4;
		padding: 0 .5rem;
	}

	.acs-faq-carousel__controls .acs-button {
		width: 44px;
		height: 44px;
	}

  body.acs-store-layout .acs-site-footer,
  body.acs-store-layout .acs-footer,
  body.acs-store-layout .site-footer,
  body.acs-store-layout #colophon,
  body.acs-store-layout footer,
  body.acs-cart-page .acs-site-footer,
  body.acs-cart-page .acs-footer,
  body.acs-cart-page .site-footer,
  body.acs-cart-page #colophon,
  body.acs-cart-page footer,
  body.acs-account-page .acs-site-footer,
  body.acs-account-page .acs-footer,
  body.acs-account-page .site-footer,
  body.acs-account-page #colophon,
  body.acs-account-page footer {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}
