/* ==========================================================================
   WooCommerce surfaces: shop, product, cart, checkout, account, voucher.
   Loaded only where Woo renders.
   ========================================================================== */

/* --- Notices ------------------------------------------------------------ */

.woocommerce-notices-wrapper:empty { display: none; }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	margin: 0 0 var(--aj-5);
	padding: var(--aj-4) var(--aj-5);
	border-radius: var(--aj-r);
	border: 1px solid transparent;
	list-style: none;
	font-size: var(--aj-fs-sm);
	line-height: 1.6;
}

.woocommerce-message {
	background: #E8F8F3;
	border-color: #A9E5D6;
	color: #0A3F35;
}

.woocommerce-info {
	background: #EAF4F8;
	border-color: #BCDCE8;
	color: var(--aj-teal-600);
}

.woocommerce-error {
	background: #FDECEC;
	border-color: #F3C0C0;
	color: #7A1F1F;
}

.woocommerce-error li + li { margin-top: 6px; }

.woocommerce-message .button,
.woocommerce-info .button {
	float: right;
	margin-left: var(--aj-4);
	font-weight: 600;
	text-decoration: underline;
}

/* --- Product archive ---------------------------------------------------- */

.aj-shop-grid {
	display: grid;
	gap: var(--aj-5);
	grid-template-columns: 1fr;
}

@media (min-width: 640px) {
	.aj-shop-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
	.aj-shop-grid { grid-template-columns: repeat(3, 1fr); }
}

.aj-pcard {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--aj-line);
	border-radius: var(--aj-r-lg);
	box-shadow: var(--aj-sh-sm);
	transition: transform var(--aj-t) var(--aj-ease), box-shadow var(--aj-t) var(--aj-ease);
}

.aj-pcard:hover {
	transform: translateY(-4px);
	box-shadow: var(--aj-sh-lg);
}

.aj-pcard__media {
	position: relative;
	aspect-ratio: 8 / 5;
	overflow: hidden;
	background: var(--aj-surface-2);
}

.aj-pcard__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--aj-t-slow) var(--aj-ease);
}

.aj-pcard:hover .aj-pcard__media img { transform: scale(1.05); }

.aj-pcard__tag {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 5px 12px;
	background: rgba(10, 17, 40, .82);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .04em;
	border-radius: 999px;
	backdrop-filter: blur(6px);
}

.aj-pcard__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: var(--aj-3);
	padding: var(--aj-5);
}

.aj-pcard__body h3 {
	margin: 0;
	font-size: var(--aj-fs-lg);
	line-height: 1.3;
}

.aj-pcard__body h3 a { color: inherit; text-decoration: none; }

.aj-pcard__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	margin: 0;
	font-size: var(--aj-fs-sm);
	color: var(--aj-muted);
}

.aj-pcard__facts span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.aj-pcard__facts svg { width: 16px; height: 16px; color: var(--aj-teal-300); }

.aj-pcard__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--aj-3);
	margin-top: auto;
	padding-top: var(--aj-4);
	border-top: 1px solid var(--aj-line);
}

.aj-pcard__price {
	font-family: var(--aj-font-display);
	font-size: var(--aj-fs-2xl);
	font-weight: 700;
	color: var(--aj-teal);
}

.aj-pcard__price small {
	display: block;
	font-family: var(--aj-font-body);
	font-size: 12px;
	font-weight: 400;
	color: var(--aj-muted);
}

/* --- Single product ----------------------------------------------------- */

.aj-product {
	display: grid;
	gap: var(--aj-7);
	align-items: start;
	grid-template-columns: 1fr;
}

@media (min-width: 900px) {
	.aj-product { grid-template-columns: 1fr 1fr; gap: var(--aj-8); }
	.aj-product__buy { position: sticky; top: calc(var(--aj-header-h) + 24px); }
}

.aj-product__media img { border-radius: var(--aj-r-lg); }

.aj-product__title { margin: 0 0 var(--aj-3); }

.aj-product .price {
	display: block;
	margin: 0 0 var(--aj-5);
	font-family: var(--aj-font-display);
	font-size: var(--aj-fs-2xl);
	font-weight: 700;
	color: var(--aj-teal);
}

.aj-product .price del { opacity: .5; font-size: .65em; margin-right: 8px; }

.aj-product__facts {
	display: grid;
	gap: var(--aj-3);
	margin: 0 0 var(--aj-5);
	padding: var(--aj-5);
	background: var(--aj-surface-2);
	border-radius: var(--aj-r);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.aj-product__facts div { display: flex; gap: 10px; align-items: flex-start; }
.aj-product__facts svg { flex: none; width: 18px; height: 18px; margin-top: 2px; color: var(--aj-teal-300); }
.aj-product__facts dt { font-size: 12px; color: var(--aj-muted); }
.aj-product__facts dd { margin: 0; font-size: var(--aj-fs-sm); font-weight: 600; }

.aj-product form.cart { margin: 0; }

.aj-product .quantity { display: none; }

.aj-product .single_add_to_cart_button {
	width: 100%;
	margin-top: var(--aj-5);
}

.aj-product .stock { font-size: var(--aj-fs-sm); font-weight: 600; }
.aj-product .stock.out-of-stock { color: #A33; }

.aj-product__desc { margin-top: var(--aj-7); }

/* --- Child form on booking products ------------------------------------- */

.aj-cform,
.aj-vform {
	margin: var(--aj-5) 0 0;
	padding: var(--aj-5);
	background: #fff;
	border: 1px solid var(--aj-line);
	border-radius: var(--aj-r);
}

.aj-cform__legend,
.aj-vform__legend {
	display: block;
	width: 100%;
	margin: 0 0 var(--aj-4);
	padding: 0;
	font-family: var(--aj-font-display);
	font-size: var(--aj-fs-lg);
	font-weight: 700;
	color: var(--aj-ink);
}

.aj-vform__block { margin: 0 0 var(--aj-6); padding: 0; border: 0; }
.aj-vform__block:last-of-type { margin-bottom: var(--aj-4); }

.aj-vform__opt {
	margin-left: 8px;
	font-family: var(--aj-font-body);
	font-size: 12px;
	font-weight: 400;
	color: var(--aj-muted);
}

/* --- Radio picker cards ------------------------------------------------- */

.aj-pick { display: grid; gap: 10px; }

.aj-pick__item { display: block; cursor: pointer; }

.aj-pick__item input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.aj-pick__box {
	display: flex;
	align-items: center;
	gap: var(--aj-4);
	padding: var(--aj-4);
	background: #fff;
	border: 1.5px solid var(--aj-line);
	border-radius: var(--aj-r);
	transition: border-color var(--aj-t-fast) var(--aj-ease), background var(--aj-t-fast) var(--aj-ease), box-shadow var(--aj-t-fast) var(--aj-ease);
}

.aj-pick__item:hover .aj-pick__box { border-color: var(--aj-teal-300); }

.aj-pick__item input:checked + .aj-pick__box {
	border-color: var(--aj-teal);
	background: var(--aj-surface-2);
	box-shadow: 0 0 0 3px rgba(0, 78, 100, .1);
}

.aj-pick__item input:focus-visible + .aj-pick__box {
	outline: 3px solid var(--aj-aqua);
	outline-offset: 2px;
}

.aj-pick__ico {
	display: grid;
	place-items: center;
	flex: none;
	width: 42px;
	height: 42px;
	background: var(--aj-surface-2);
	border-radius: 12px;
	color: var(--aj-teal);
}

.aj-pick__item input:checked + .aj-pick__box .aj-pick__ico {
	background: var(--aj-teal);
	color: #fff;
}

.aj-pick__ico svg { width: 20px; height: 20px; }

.aj-pick__txt { flex: 1; min-width: 0; }
.aj-pick__txt strong { display: block; font-size: var(--aj-fs-sm); }
.aj-pick__txt small { display: block; margin-top: 2px; font-size: 12.5px; line-height: 1.5; color: var(--aj-muted); }

.aj-pick__fee {
	flex: none;
	font-size: var(--aj-fs-sm);
	font-weight: 700;
	color: var(--aj-teal);
}

/* --- Cart --------------------------------------------------------------- */

.woocommerce-cart-form__contents {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-cart-form__contents th {
	padding: 0 0 var(--aj-3);
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-align: left;
	color: var(--aj-muted);
	border-bottom: 1px solid var(--aj-line);
}

.woocommerce-cart-form__cart-item td {
	padding: var(--aj-4) var(--aj-3) var(--aj-4) 0;
	vertical-align: middle;
	border-bottom: 1px solid var(--aj-line);
}

.woocommerce-cart-form__cart-item .product-thumbnail img {
	width: 74px;
	border-radius: 10px;
}

.woocommerce-cart-form__cart-item .product-name a {
	font-weight: 600;
	color: var(--aj-ink);
	text-decoration: none;
}

.woocommerce-cart-form__cart-item dl.variation {
	margin: 6px 0 0;
	font-size: 12.5px;
	color: var(--aj-muted);
}

.woocommerce-cart-form__cart-item dl.variation dt,
.woocommerce-cart-form__cart-item dl.variation dd {
	display: inline;
	margin: 0;
}

.woocommerce-cart-form__cart-item dl.variation dd + dt::before { content: " · "; }

.product-remove a {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	background: var(--aj-surface-2);
	border-radius: 50%;
	color: var(--aj-muted);
	font-size: 16px;
	text-decoration: none;
	transition: background var(--aj-t-fast) var(--aj-ease), color var(--aj-t-fast) var(--aj-ease);
}

.product-remove a:hover { background: #FDECEC; color: #A33; }

@media (max-width: 767px) {
	.woocommerce-cart-form__contents thead { display: none; }
	.woocommerce-cart-form__cart-item {
		display: grid;
		gap: 4px 14px;
		padding: var(--aj-4) 0;
		border-bottom: 1px solid var(--aj-line);
		grid-template-columns: 74px 1fr auto;
		align-items: center;
	}
	.woocommerce-cart-form__cart-item td { padding: 0; border: 0; }
	.woocommerce-cart-form__cart-item .product-thumbnail { grid-row: span 2; }
	.woocommerce-cart-form__cart-item .product-remove { grid-column: 3; grid-row: 1; }
	.woocommerce-cart-form__cart-item .product-name { grid-column: 2; }
	.woocommerce-cart-form__cart-item .product-subtotal { grid-column: 2 / -1; font-weight: 700; }
	.woocommerce-cart-form__cart-item .product-price,
	.woocommerce-cart-form__cart-item .product-quantity { display: none; }
}

.cart-collaterals {
	margin-top: var(--aj-7);
	padding: var(--aj-6);
	background: var(--aj-surface-2);
	border-radius: var(--aj-r-lg);
}

.cart_totals table { width: 100%; border-collapse: collapse; }
.cart_totals th { text-align: left; font-weight: 500; color: var(--aj-muted); }
.cart_totals th, .cart_totals td { padding: 8px 0; }
.cart_totals .order-total th, .cart_totals .order-total td {
	padding-top: var(--aj-4);
	border-top: 1px solid var(--aj-line);
	font-size: var(--aj-fs-lg);
	font-weight: 700;
	color: var(--aj-ink);
}

.wc-proceed-to-checkout { margin-top: var(--aj-5); }
.coupon { display: none; }

/* --- Checkout ----------------------------------------------------------- */

.aj-checkout {
	display: grid;
	gap: var(--aj-7);
	align-items: start;
	grid-template-columns: 1fr;
}

@media (min-width: 1000px) {
	.aj-checkout {
		grid-template-columns: 1.15fr .85fr;
		gap: 0 var(--aj-8);
		grid-template-rows: auto 1fr;
	}
	#customer_details { grid-column: 1; grid-row: 1 / span 2; }
	#order_review_heading { grid-column: 2; grid-row: 1; }
	#order_review { grid-column: 2; grid-row: 2; position: sticky; top: calc(var(--aj-header-h) + 24px); }
}

.woocommerce-billing-fields h3,
#order_review_heading {
	margin: 0 0 var(--aj-4);
	font-size: var(--aj-fs-lg);
}

.woocommerce-checkout .form-row { margin: 0 0 var(--aj-4); }

.woocommerce-checkout label {
	display: block;
	margin-bottom: 6px;
	font-size: var(--aj-fs-sm);
	font-weight: 600;
}

.woocommerce-checkout .required { color: #C0392B; text-decoration: none; }

.woocommerce-checkout .woocommerce-input-wrapper { display: block; }

.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout textarea,
.woocommerce-checkout select {
	width: 100%;
}

.woocommerce-checkout .description {
	margin: 6px 0 0;
	font-size: 12.5px;
	color: var(--aj-muted);
}

#order_review {
	padding: var(--aj-6);
	background: #fff;
	border: 1px solid var(--aj-line);
	border-radius: var(--aj-r-lg);
	box-shadow: var(--aj-sh);
}

.shop_table { width: 100%; border-collapse: collapse; }
.shop_table th { text-align: left; font-weight: 500; color: var(--aj-muted); font-size: var(--aj-fs-sm); }
.shop_table th, .shop_table td { padding: 10px 0; border-bottom: 1px solid var(--aj-line); }
.shop_table .order-total th, .shop_table .order-total td {
	font-size: var(--aj-fs-lg);
	font-weight: 700;
	color: var(--aj-ink);
	border-bottom: 0;
}

.shop_table .variation { margin: 4px 0 0; font-size: 12.5px; color: var(--aj-muted); }

.wc_payment_methods { list-style: none; margin: var(--aj-5) 0 0; padding: 0; }

.wc_payment_method {
	margin: 0 0 10px;
	border: 1.5px solid var(--aj-line);
	border-radius: var(--aj-r);
	overflow: hidden;
	transition: border-color var(--aj-t-fast) var(--aj-ease);
}

.wc_payment_method:has(input:checked) {
	border-color: var(--aj-teal);
	background: var(--aj-surface-2);
}

.wc_payment_method > label {
	display: flex !important;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	padding: var(--aj-4);
	cursor: pointer;
}

.wc_payment_method .payment_box {
	margin: 0;
	padding: 0 var(--aj-4) var(--aj-4);
	font-size: 13px;
	line-height: 1.6;
	color: var(--aj-muted);
}

.wc_payment_method .payment_box p:last-child { margin-bottom: 0; }

#place_order { width: 100%; margin-top: var(--aj-5); }

/* --- Consents ----------------------------------------------------------- */

.aj-consents {
	margin: var(--aj-6) 0 0;
	padding: var(--aj-5);
	background: var(--aj-surface-2);
	border-radius: var(--aj-r);
}

.aj-consents__title {
	margin: 0 0 var(--aj-4);
	font-size: var(--aj-fs-lg);
}

.aj-consents__sub {
	margin: var(--aj-6) 0 4px;
	font-size: var(--aj-fs-sm);
	font-weight: 700;
	color: var(--aj-ink);
}

.aj-consents__hint {
	margin: 0 0 var(--aj-4);
	font-size: 12.5px;
	color: var(--aj-muted);
}

.aj-check__note {
	display: block;
	margin-top: 5px;
	font-size: 12px;
	font-style: normal;
	color: var(--aj-teal-300);
}

.aj-check__req { color: #C0392B; font-weight: 700; margin-right: 3px; }

/* --- Thank you ---------------------------------------------------------- */

.woocommerce-order-overview {
	display: grid;
	gap: var(--aj-4);
	margin: var(--aj-6) 0;
	padding: var(--aj-5);
	background: var(--aj-surface-2);
	border-radius: var(--aj-r);
	list-style: none;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.woocommerce-order-overview li {
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--aj-muted);
}

.woocommerce-order-overview strong {
	display: block;
	margin-top: 4px;
	font-size: var(--aj-fs-lg);
	letter-spacing: 0;
	text-transform: none;
	color: var(--aj-ink);
}

/* --- My account --------------------------------------------------------- */

.woocommerce-account .woocommerce {
	display: grid;
	gap: var(--aj-6);
	grid-template-columns: 1fr;
}

@media (min-width: 900px) {
	.woocommerce-account .woocommerce { grid-template-columns: 250px 1fr; gap: var(--aj-8); }
}

.woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
	background: #fff;
	border: 1px solid var(--aj-line);
	border-radius: var(--aj-r);
	overflow: hidden;
}

.woocommerce-MyAccount-navigation li + li { border-top: 1px solid var(--aj-line); }

.woocommerce-MyAccount-navigation a {
	display: block;
	padding: 13px var(--aj-4);
	font-size: var(--aj-fs-sm);
	font-weight: 600;
	color: var(--aj-ink);
	text-decoration: none;
	transition: background var(--aj-t-fast) var(--aj-ease), color var(--aj-t-fast) var(--aj-ease);
}

.woocommerce-MyAccount-navigation a:hover { background: var(--aj-surface-2); }

.woocommerce-MyAccount-navigation .is-active a {
	background: var(--aj-teal);
	color: #fff;
}

.aj-dash__hi { margin: 0 0 4px; }
.aj-dash__sub { margin: 0 0 var(--aj-6); color: var(--aj-muted); }

.aj-dash__tiles {
	display: grid;
	gap: var(--aj-4);
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.aj-tile {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: var(--aj-5);
	background: #fff;
	border: 1px solid var(--aj-line);
	border-radius: var(--aj-r);
	color: var(--aj-ink);
	text-decoration: none;
	transition: transform var(--aj-t) var(--aj-ease), box-shadow var(--aj-t) var(--aj-ease);
}

.aj-tile:hover { transform: translateY(-3px); box-shadow: var(--aj-sh); }
.aj-tile svg { color: var(--aj-teal-300); }
.aj-tile strong { font-family: var(--aj-font-display); font-size: var(--aj-fs-2xl); }
.aj-tile span { font-size: 12.5px; color: var(--aj-muted); }

.aj-acct-list { display: grid; gap: var(--aj-4); }

.aj-acct-card {
	padding: var(--aj-5);
	background: #fff;
	border: 1px solid var(--aj-line);
	border-radius: var(--aj-r);
}

.aj-acct-card__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--aj-4);
	margin-bottom: var(--aj-4);
}

.aj-acct-card__head h3 { margin: 0; font-size: var(--aj-fs-lg); }

.aj-badge--ok { background: #E8F8F3; color: #0A3F35; }
.aj-badge--wait { background: #FFF7DC; color: #6A4E00; }

.aj-acct-card__meta {
	display: grid;
	gap: var(--aj-3);
	margin: 0 0 var(--aj-4);
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.aj-acct-card__meta dt { font-size: 12px; color: var(--aj-muted); }
.aj-acct-card__meta dd { margin: 2px 0 0; font-size: var(--aj-fs-sm); font-weight: 600; }

.aj-acct-card__foot { padding-top: var(--aj-4); border-top: 1px solid var(--aj-line); }

.aj-empty {
	display: grid;
	justify-items: center;
	gap: var(--aj-3);
	padding: var(--aj-8) var(--aj-5);
	text-align: center;
	background: var(--aj-surface-2);
	border-radius: var(--aj-r-lg);
}

.aj-empty svg { color: var(--aj-teal-300); }
.aj-empty h3 { margin: 0; font-size: var(--aj-fs-lg); }
.aj-empty p { margin: 0; max-width: 42ch; color: var(--aj-muted); }
.aj-empty .aj-btn { margin-top: var(--aj-3); }

/* --- Voucher cards ------------------------------------------------------ */

.aj-vlist { display: grid; gap: var(--aj-4); }

.aj-vcard {
	display: flex;
	gap: var(--aj-5);
	align-items: center;
	padding: var(--aj-5);
	background: #fff;
	border: 1px solid var(--aj-line);
	border-radius: var(--aj-r-lg);
}

.aj-vcard.is-used { opacity: .55; }

.aj-vcard__qr {
	flex: none;
	display: grid;
	place-items: center;
	width: 118px;
	height: 118px;
	padding: 8px;
	background: #fff;
	border: 1px solid var(--aj-line);
	border-radius: var(--aj-r);
}

.aj-vcard__qr img { width: 100%; height: auto; }
.aj-vcard__noqr { color: var(--aj-muted); }

.aj-vcard__code {
	margin: 2px 0 var(--aj-3);
	font-family: var(--aj-font-display);
	font-size: var(--aj-fs-lg);
	font-weight: 700;
	letter-spacing: .06em;
}

.aj-vcard__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 20px;
	margin: 0 0 var(--aj-4);
}

.aj-vcard__meta dt { font-size: 11.5px; color: var(--aj-muted); }
.aj-vcard__meta dd { margin: 1px 0 0; font-size: 13.5px; font-weight: 600; }

@media (max-width: 599px) {
	.aj-vcard { flex-direction: column; align-items: flex-start; }
}

/* --- Voucher check page ------------------------------------------------- */

.aj-vstate {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 var(--aj-5);
	padding: 9px 16px;
	border-radius: 999px;
	font-size: var(--aj-fs-sm);
	font-weight: 600;
}

.aj-vstate svg { width: 18px; height: 18px; }
.aj-vstate--ok { background: #E8F8F3; color: #0A3F35; }
.aj-vstate--used { background: var(--aj-surface-2); color: var(--aj-teal-600); }
.aj-vstate--expired { background: #FDECEC; color: #7A1F1F; }

.aj-voucher {
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--aj-line);
	border-radius: var(--aj-r-lg);
	box-shadow: var(--aj-sh-lg);
}

.aj-voucher__top {
	display: flex;
	align-items: center;
	gap: var(--aj-4);
	padding: var(--aj-5) var(--aj-6);
	background: var(--aj-grad-deep);
	color: #fff;
}

.aj-voucher__mark { display: block; width: 46px; height: 46px; }
.aj-voucher__mark svg { width: 100%; height: 100%; }
.aj-voucher__brand strong { display: block; font-family: var(--aj-font-display); font-size: var(--aj-fs-lg); }
.aj-voucher__brand small { font-size: 12px; opacity: .8; }

.aj-voucher__main {
	display: grid;
	gap: var(--aj-6);
	padding: var(--aj-6);
	grid-template-columns: 1fr;
}

@media (min-width: 600px) {
	.aj-voucher__main { grid-template-columns: 1fr auto; align-items: center; }
}

.aj-voucher__value {
	margin: 6px 0 var(--aj-4);
	font-family: var(--aj-font-display);
	font-size: clamp(2.2rem, 6vw, 3rem);
	font-weight: 800;
	line-height: 1;
	color: var(--aj-teal);
}

.aj-voucher__line { margin: 0 0 4px; font-size: var(--aj-fs-sm); }
.aj-voucher__line span { display: inline-block; min-width: 34px; color: var(--aj-muted); }

.aj-voucher__msg {
	margin: var(--aj-3) 0;
	padding-left: var(--aj-4);
	border-left: 3px solid var(--aj-aqua);
	font-style: italic;
	color: var(--aj-muted);
}

.aj-voucher__code {
	margin: var(--aj-4) 0 2px;
	font-family: var(--aj-font-display);
	font-size: var(--aj-fs-lg);
	font-weight: 700;
	letter-spacing: .12em;
}

.aj-voucher__exp { margin: 0; font-size: 12.5px; color: var(--aj-muted); }

.aj-voucher__qr { text-align: center; }
.aj-voucher__qr img { display: block; width: 160px; height: 160px; margin: 0 auto 8px; }
.aj-voucher__qr small { font-size: 11.5px; color: var(--aj-muted); }

.aj-voucher__foot {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px;
	padding: var(--aj-4) var(--aj-6);
	background: var(--aj-surface-2);
	font-size: 12.5px;
	color: var(--aj-muted);
}

.aj-vcheck {
	display: grid;
	justify-items: center;
	gap: var(--aj-3);
	padding: var(--aj-8) var(--aj-5);
	text-align: center;
	background: #fff;
	border-radius: var(--aj-r-lg);
	box-shadow: var(--aj-sh);
}

.aj-vcheck__ico { color: #C0392B; }
.aj-vcheck h1 { margin: 0; font-size: var(--aj-fs-2xl); }
.aj-vcheck p { margin: 0; max-width: 46ch; color: var(--aj-muted); }

.aj-redeem {
	margin-top: var(--aj-7);
	padding: var(--aj-5);
	background: #fff;
	border: 1px dashed var(--aj-teal-300);
	border-radius: var(--aj-r);
}

.aj-redeem h2 { margin: 0 0 6px; font-size: var(--aj-fs-lg); }
.aj-redeem p { margin: 0 0 var(--aj-4); font-size: var(--aj-fs-sm); color: var(--aj-muted); }

@media print {
	.aj-header, .aj-footer, .aj-strip, .aj-tabbar, .aj-noprint, .aj-vstate { display: none !important; }
	.aj-section { padding: 0 !important; background: #fff !important; }
	.aj-voucher { box-shadow: none; border: 1px solid #999; break-inside: avoid; }
	.aj-voucher__top { background: #004E64 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* --- Small pieces the Woo templates rely on ----------------------------- */

.aj-pcard__ph,
.aj-product__ph {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	min-height: 180px;
	background: var(--aj-surface-2);
	color: var(--aj-teal-300);
}

.aj-pcard__excerpt {
	margin: 0;
	font-size: var(--aj-fs-sm);
	color: var(--aj-muted);
}

.aj-product__lead {
	margin: 0 0 var(--aj-4);
	font-size: var(--aj-fs-lg);
	color: var(--aj-muted);
}

.aj-product__note {
	margin: -0.5rem 0 var(--aj-4);
	font-size: var(--aj-fs-sm);
	color: var(--aj-muted);
}

.aj-product__trust {
	display: grid;
	gap: var(--aj-3);
	margin: var(--aj-5) 0 0;
	padding: var(--aj-5) 0 0;
	list-style: none;
	border-top: 1px solid var(--aj-line-soft);
}

.aj-product__trust li {
	display: flex;
	align-items: center;
	gap: var(--aj-3);
	font-size: var(--aj-fs-sm);
	color: var(--aj-muted);
}

.aj-product__trust svg {
	flex: none;
	width: 19px;
	height: 19px;
	color: var(--aj-teal);
}

.aj-field { margin: 0 0 var(--aj-4); }

.aj-field label {
	display: block;
	margin-bottom: 6px;
	font-size: var(--aj-fs-sm);
	font-weight: 600;
}

.aj-field input,
.aj-field select,
.aj-field textarea { width: 100%; }

.aj-gap-sm { gap: var(--aj-3); }
