/* ==========================================================================
   Grace Alerts — WooCommerce stylesheet
   Store, cart, checkout AND the My Account area. Mobile-first; verified
   layouts at 360px, 768px, 1024px and 1280px. No horizontal overflow.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Shared wrappers
   -------------------------------------------------------------------------- */
.ga-wc {
	padding: 2rem 0 3rem;
}

.woocommerce {
	max-width: 100%;
}

/* Never allow store content to force horizontal scroll */
.woocommerce,
.woocommerce-page {
	overflow-wrap: break-word;
}

/* --------------------------------------------------------------------------
   Notices — success / error / info in the palette
   -------------------------------------------------------------------------- */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
	display: block;
	width: 100%;
	margin: 0 0 1.25rem;
	padding: 0.95rem 1.15rem;
	border-radius: 10px;
	border: 1px solid transparent;
	border-left-width: 5px;
	background: var(--ga-surface);
	color: var(--ga-text);
	list-style: none;
	font-size: 0.97rem;
	line-height: 1.5;
}

.woocommerce-message {
	border-color: rgba(21, 128, 61, 0.35);
	border-left-color: var(--ga-success);
	background: #F0FDF4;
}

.woocommerce-error {
	border-color: rgba(185, 28, 28, 0.35);
	border-left-color: var(--ga-error);
	background: #FEF2F2;
}

.woocommerce-error li {
	margin: 0 0 0.35rem;
}

.woocommerce-error li:last-child {
	margin-bottom: 0;
}

.woocommerce-info {
	border-color: rgba(30, 58, 138, 0.3);
	border-left-color: var(--ga-info);
	background: #EFF6FF;
}

.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button {
	float: none;
	margin: 0.5rem 0.5rem 0 0;
}

/* --------------------------------------------------------------------------
   Buttons — one consistent system
   -------------------------------------------------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce button[name="update_cart"],
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button,
.woocommerce button#place_order {
	display: inline-block;
	min-height: 44px;
	padding: 0.7rem 1.4rem;
	background: var(--ga-primary);
	color: var(--ga-on-primary);
	border: 2px solid var(--ga-primary);
	border-radius: 999px;
	font-family: var(--ga-font-body);
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce button#place_order:hover {
	background: var(--ga-primary);
	color: var(--ga-on-primary);
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

/* Primary emphasis (add to cart / sign up / place order) */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce .single_add_to_cart_button,
.woocommerce button#place_order {
	background: var(--ga-secondary);
	border-color: var(--ga-secondary);
	color: var(--ga-on-secondary);
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce button#place_order:hover {
	background: var(--ga-secondary);
	color: var(--ga-on-secondary);
}

.woocommerce a.button.disabled,
.woocommerce button.button:disabled {
	opacity: 0.55;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

/* Quiet/secondary actions inside tables (View, Cancel, etc.) */
.woocommerce table.shop_table .button {
	padding: 0.45rem 1rem;
	min-height: 38px;
	font-size: 0.92rem;
	margin: 0.15rem 0.3rem 0.15rem 0;
	white-space: nowrap;
}

/* --------------------------------------------------------------------------
   Forms — labels above, full-width, ≥44px targets
   -------------------------------------------------------------------------- */
.woocommerce form .form-row {
	width: 100%;
	float: none;
	padding: 0;
	margin: 0 0 1.05rem;
}

.woocommerce form .form-row label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35rem;
	line-height: 1.4;
}

.woocommerce form .form-row .required {
	color: var(--ga-error);
	text-decoration: none;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce .select2-container .select2-selection--single {
	width: 100%;
	max-width: 100%;
	min-height: 44px;
	padding: 0.6rem 0.85rem;
	border: 1.5px solid var(--ga-border);
	border-radius: 8px;
	background: var(--ga-bg);
	color: var(--ga-text);
	font-size: 1rem;
	line-height: 1.4;
	box-sizing: border-box;
}

.woocommerce .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 1.4;
	padding-left: 0;
	color: var(--ga-text);
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--ga-primary);
	outline: 3px solid rgba(30, 58, 138, 0.18);
}

.woocommerce form .form-row.woocommerce-invalid input.input-text {
	border-color: var(--ga-error);
}

.woocommerce form .form-row .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}

.woocommerce form .show-password-input {
	top: 50%;
	transform: translateY(-50%);
	right: 0.9rem;
}

/* Two-column rows collapse cleanly on small screens */
.woocommerce form .form-row-first,
.woocommerce form .form-row-last,
.woocommerce-page form .form-row-first,
.woocommerce-page form .form-row-last {
	width: 100%;
	float: none;
}

@media (min-width: 768px) {
	.woocommerce form .form-row-first,
	.woocommerce-page form .form-row-first {
		width: 48.5%;
		float: left;
	}

	.woocommerce form .form-row-last,
	.woocommerce-page form .form-row-last {
		width: 48.5%;
		float: right;
	}
}

/* Login / register / lost-password cards */
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password,
.woocommerce form.woocommerce-ResetPassword {
	max-width: 460px;
	margin: 0 auto;
	padding: 1.75rem 1.4rem;
	border: 1px solid var(--ga-border);
	border-radius: 14px;
	background: var(--ga-bg);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05);
}

.woocommerce form.login .woocommerce-form-login__rememberme {
	display: block;
	margin-bottom: 0.75rem;
	font-weight: 500;
}

.woocommerce form.login .woocommerce-form-login__submit,
.woocommerce form.register .woocommerce-form-register__submit {
	width: 100%;
}

.woocommerce-LostPassword {
	font-size: 0.92rem;
}

/* --------------------------------------------------------------------------
   Shop (one-product grid)
   -------------------------------------------------------------------------- */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.woocommerce ul.products li.product:only-child {
		grid-column: 1 / -1;
		max-width: 520px;
		margin: 0 auto;
		width: 100%;
	}
}

.woocommerce ul.products li.product {
	width: 100%;
	float: none;
	margin: 0;
	padding: 1.5rem;
	border: 1px solid var(--ga-border);
	border-radius: 16px;
	background: var(--ga-bg);
	text-align: center;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--ga-font-heading);
	font-size: 1.3rem;
	padding: 0.5rem 0 0.25rem;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price {
	color: var(--ga-primary);
	font-weight: 700;
	font-size: 1.25rem;
}

.woocommerce ul.products li.product .button {
	margin-top: 0.75rem;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	display: none; /* one product — sorting UI is clutter */
}

/* --------------------------------------------------------------------------
   Single product
   -------------------------------------------------------------------------- */
.woocommerce div.product {
	display: block;
}

.woocommerce div.product div.summary {
	width: 100%;
	float: none;
	margin-bottom: 1.5rem;
}

.woocommerce div.product div.images {
	width: 100%;
	float: none;
	margin-bottom: 1.5rem;
}

@media (min-width: 1024px) {
	.woocommerce div.product.has-post-thumbnail div.images {
		width: 42%;
		float: left;
	}

	.woocommerce div.product.has-post-thumbnail div.summary {
		width: 54%;
		float: right;
	}
}

.woocommerce div.product .product_title {
	font-size: clamp(1.6rem, 3.5vw, 2.2rem);
	margin-bottom: 0.4rem;
}

.woocommerce div.product p.price {
	font-size: 1.6rem;
	margin-bottom: 0.75rem;
}

.woocommerce div.product form.cart {
	margin: 1.25rem 0;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
	width: 100%;
	max-width: 420px;
	font-size: 1.05rem;
	padding: 0.9rem 1.6rem;
}

.woocommerce div.product .woocommerce-product-details__short-description {
	color: var(--ga-muted);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
	margin: 0 0 1rem;
	border-bottom: 2px solid var(--ga-border);
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-radius: 0;
	margin: 0;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: 0.65rem 1rem;
	font-weight: 600;
	color: var(--ga-muted);
	text-decoration: none;
	border-bottom: 3px solid transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--ga-primary);
	border-bottom-color: var(--ga-secondary);
}

/* --------------------------------------------------------------------------
   Tables — base + responsive stacking
   -------------------------------------------------------------------------- */
.woocommerce table.shop_table {
	width: 100%;
	border: 1px solid var(--ga-border);
	border-radius: 12px;
	border-collapse: separate;
	border-spacing: 0;
	margin: 0 0 1.5rem;
	overflow: hidden;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 0.8rem 0.9rem;
	border-top: 1px solid var(--ga-border);
	vertical-align: middle;
	text-align: left;
}

.woocommerce table.shop_table thead th {
	border-top: 0;
	background: var(--ga-surface);
	font-weight: 600;
	color: var(--ga-text);
}

.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td {
	font-weight: 600;
}

/* Stack "responsive" tables (orders, subscriptions, downloads, cart)
   into label:value cards on small screens — no horizontal overflow. */
@media (max-width: 767px) {
	.woocommerce table.shop_table_responsive thead {
		display: none;
	}

	.woocommerce table.shop_table_responsive tbody tr {
		display: block;
		border-top: 1px solid var(--ga-border);
		padding: 0.5rem 0;
	}

	.woocommerce table.shop_table_responsive tbody tr:first-child {
		border-top: 0;
	}

	.woocommerce table.shop_table_responsive tbody th,
	.woocommerce table.shop_table_responsive tbody td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.75rem;
		width: 100%;
		border: 0;
		padding: 0.45rem 0.9rem;
		text-align: right;
	}

	.woocommerce table.shop_table_responsive tbody td::before {
		content: attr(data-title);
		font-weight: 600;
		text-align: left;
		color: var(--ga-muted);
		flex: 0 0 auto;
	}

	.woocommerce table.shop_table_responsive tbody td.product-remove::before,
	.woocommerce table.shop_table_responsive tbody td.actions::before,
	.woocommerce table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions::before {
		display: none;
	}

	.woocommerce table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions,
	.woocommerce table.shop_table_responsive td.subscription-actions {
		justify-content: flex-start;
		flex-wrap: wrap;
	}
}

/* Non-responsive tables (e.g. order totals) simply scroll inside their box */
@media (max-width: 767px) {
	.woocommerce-MyAccount-content table.shop_table:not(.shop_table_responsive),
	.woocommerce table.woocommerce-table--order-details {
		display: block;
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

/* --------------------------------------------------------------------------
   Cart
   -------------------------------------------------------------------------- */
.woocommerce-cart table.cart img {
	width: 64px;
	border-radius: 8px;
}

.woocommerce-cart table.cart td.actions {
	padding: 0.9rem;
}

.woocommerce-cart table.cart td.actions .coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	float: none;
	margin-bottom: 0.75rem;
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
	width: auto;
	flex: 1 1 160px;
	min-height: 44px;
	padding: 0.55rem 0.85rem;
	border: 1.5px solid var(--ga-border);
	border-radius: 8px;
}

.woocommerce-cart .cart-collaterals {
	width: 100%;
}

.woocommerce-cart .cart-collaterals .cart_totals {
	width: 100%;
	float: none;
}

@media (min-width: 1024px) {
	.woocommerce-cart .cart-collaterals .cart_totals {
		width: 46%;
		float: right;
	}
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: block;
	width: 100%;
	font-size: 1.05rem;
}

/* --------------------------------------------------------------------------
   Checkout (kept visually clean around the Stripe fields)
   -------------------------------------------------------------------------- */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	width: 100%;
	float: none;
	margin-bottom: 1rem;
}

@media (min-width: 1024px) {
	.woocommerce-checkout #customer_details {
		display: block;
	}

	.woocommerce-checkout #customer_details .col-1,
	.woocommerce-checkout #customer_details .col-2 {
		width: 48.5%;
	}

	.woocommerce-checkout #customer_details .col-1 {
		float: left;
	}

	.woocommerce-checkout #customer_details .col-2 {
		float: right;
	}
}

.woocommerce-checkout #order_review_heading {
	margin-top: 1.5rem;
}

.woocommerce-checkout #payment {
	background: var(--ga-surface);
	border: 1px solid var(--ga-border);
	border-radius: 14px;
}

.woocommerce-checkout #payment ul.payment_methods {
	padding: 1rem;
	border-bottom: 1px solid var(--ga-border);
}

.woocommerce-checkout #payment ul.payment_methods li {
	list-style: none;
	line-height: 1.5;
}

.woocommerce-checkout #payment ul.payment_methods li label {
	display: inline;
	font-weight: 600;
}

.woocommerce-checkout #payment div.payment_box {
	background: var(--ga-bg);
	border: 1px solid var(--ga-border);
	border-radius: 10px;
	color: var(--ga-text);
	padding: 1rem;
	margin: 0.75rem 0 0.5rem;
}

.woocommerce-checkout #payment div.payment_box::before {
	display: none;
}

/* Stripe card element containers */
.wc-stripe-elements-field,
.wc-stripe-upe-element,
#stripe-card-element,
#stripe-exp-element,
#stripe-cvc-element {
	padding: 0.75rem 0.85rem;
	border: 1.5px solid var(--ga-border);
	border-radius: 8px;
	background: #FFFFFF;
	margin: 0.35rem 0 0.75rem;
}

.wc-stripe-elements-field.focused,
.wc-stripe-upe-element.focused {
	border-color: var(--ga-primary);
}

.woocommerce-checkout #payment .place-order {
	padding: 1rem;
}

.woocommerce-checkout button#place_order {
	display: block;
	width: 100%;
	font-size: 1.08rem;
	padding: 0.95rem 1.6rem;
}

.woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 1rem;
	font-size: 0.92rem;
}

.woocommerce-checkout .ga-trust-line {
	text-align: center;
	padding: 0 1rem 1rem;
}

/* --------------------------------------------------------------------------
   MY ACCOUNT — pixel-clean and fully responsive
   -------------------------------------------------------------------------- */

/* Layout: stacked on mobile, sidebar + content from 768px */
.woocommerce-account .woocommerce {
	display: block;
}

@media (min-width: 768px) {
	.woocommerce-account .ga-main .woocommerce {
		display: grid;
		grid-template-columns: 240px minmax(0, 1fr);
		gap: 2rem;
		align-items: start;
	}

	/* Notices span both columns so nothing overlaps */
	.woocommerce-account .ga-main .woocommerce > .woocommerce-notices-wrapper,
	.woocommerce-account .ga-main .woocommerce > .woocommerce-message,
	.woocommerce-account .ga-main .woocommerce > .woocommerce-error,
	.woocommerce-account .ga-main .woocommerce > .woocommerce-info,
	.woocommerce-account .ga-main .woocommerce > h2,
	.woocommerce-account .ga-main .woocommerce > form.login,
	.woocommerce-account .ga-main .woocommerce > form.register,
	.woocommerce-account .ga-main .woocommerce > .u-columns {
		grid-column: 1 / -1;
	}
}

@media (min-width: 1024px) {
	.woocommerce-account .ga-main .woocommerce {
		grid-template-columns: 260px minmax(0, 1fr);
	}
}

/* Account navigation: clean tappable pills; never overlaps content */
.woocommerce-MyAccount-navigation {
	width: 100%;
	float: none;
	margin-bottom: 1.5rem;
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0.4rem;
	background: var(--ga-surface);
	border: 1px solid var(--ga-border);
	border-radius: 14px;
}

.woocommerce-MyAccount-navigation ul li {
	margin: 0.2rem 0;
}

.woocommerce-MyAccount-navigation ul li a {
	display: block;
	min-height: 44px;
	padding: 0.65rem 0.95rem;
	border-radius: 10px;
	color: var(--ga-text);
	font-weight: 500;
	text-decoration: none;
	transition: background 0.15s ease;
}

.woocommerce-MyAccount-navigation ul li a:hover {
	background: rgba(30, 58, 138, 0.08);
}

.woocommerce-MyAccount-navigation ul li.is-active a {
	background: var(--ga-primary);
	color: var(--ga-on-primary);
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
	color: var(--ga-error);
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout.is-active a,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
	background: rgba(185, 28, 28, 0.08);
	color: var(--ga-error);
}

/* Content panel */
.woocommerce-MyAccount-content {
	width: 100%;
	float: none;
	min-width: 0; /* prevents grid blowout from long strings */
}

.woocommerce-MyAccount-content > p:first-child {
	margin-top: 0;
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
	margin-top: 1.4em;
}

.woocommerce-MyAccount-content h2:first-child,
.woocommerce-MyAccount-content h3:first-child {
	margin-top: 0;
}

.woocommerce-MyAccount-content fieldset {
	border: 1px solid var(--ga-border);
	border-radius: 12px;
	padding: 1.1rem;
	margin: 0 0 1.25rem;
}

.woocommerce-MyAccount-content fieldset legend {
	font-weight: 600;
	padding: 0 0.4rem;
}

.woocommerce-MyAccount-content .woocommerce-Button,
.woocommerce-MyAccount-content button[name="save_account_details"],
.woocommerce-MyAccount-content button[name="save_address"] {
	min-width: 180px;
}

/* Addresses: stack on mobile, two columns from 768px */
.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2 {
	width: 100%;
	float: none;
	margin-bottom: 1.25rem;
}

@media (min-width: 768px) {
	.woocommerce .col2-set {
		display: flex;
		gap: 2rem;
	}

	.woocommerce .col2-set .col-1,
	.woocommerce .col2-set .col-2 {
		flex: 1 1 0;
		width: auto;
	}
}

.woocommerce-Address address,
.woocommerce-column--billing-address address,
.woocommerce-column--shipping-address address {
	font-style: normal;
	background: var(--ga-surface);
	border: 1px solid var(--ga-border);
	border-radius: 12px;
	padding: 1rem 1.1rem;
	line-height: 1.6;
}

.woocommerce-Address-title {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.woocommerce-Address-title .edit {
	font-size: 0.92rem;
}

/* Orders / Subscriptions / Downloads tables inherit the responsive
   stacking above; give their action cells breathing room */
.woocommerce-MyAccount-content table.shop_table .button {
	margin: 0.15rem 0.35rem 0.15rem 0;
}

.woocommerce-orders-table__cell-order-status,
.subscription-status {
	font-weight: 600;
}

/* Subscription status colours (WooCommerce Subscriptions) */
.subscription-status.status-active {
	color: var(--ga-success);
}

.subscription-status.status-on-hold {
	color: #B45309;
}

.subscription-status.status-cancelled,
.subscription-status.status-expired {
	color: var(--ga-error);
}

/* Single subscription view: details + totals + actions */
.woocommerce-account table.subscription_details,
.woocommerce-account table.order_details {
	margin-bottom: 1.5rem;
}

.woocommerce-account .subscription_details td:last-child {
	text-align: right;
}

@media (max-width: 767px) {
	.woocommerce-account table.subscription_details,
	.woocommerce-account table.subscription_details tbody,
	.woocommerce-account table.subscription_details tr,
	.woocommerce-account table.subscription_details td,
	.woocommerce-account table.subscription_details th {
		display: block;
		width: 100%;
		text-align: left;
	}

	.woocommerce-account table.subscription_details td:last-child {
		text-align: left;
		padding-top: 0;
	}

	.woocommerce-account table.subscription_details td .button {
		margin: 0.25rem 0.4rem 0.25rem 0;
	}
}

/* Payment methods list + "add payment method" form */
.woocommerce-account .payment-methods .button,
.woocommerce-account .woocommerce-PaymentMethods .button {
	white-space: nowrap;
}

#add_payment_method #payment,
.woocommerce-account #payment {
	background: var(--ga-surface);
	border: 1px solid var(--ga-border);
	border-radius: 14px;
	padding: 1rem;
}

#add_payment_method #payment ul.payment_methods {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
}

/* Downloads */
.woocommerce-account .woocommerce-MyAccount-downloads .button {
	width: auto;
}

/* Dashboard extras panel spacing inside content */
.woocommerce-MyAccount-content .ga-account-panel {
	margin-top: 0.5rem;
}

/* --------------------------------------------------------------------------
   Order confirmation / thank-you
   -------------------------------------------------------------------------- */
.woocommerce-order .woocommerce-thankyou-order-received {
	font-family: var(--ga-font-heading);
	font-size: 1.4rem;
	color: var(--ga-success);
	margin-bottom: 1rem;
}

.woocommerce ul.order_details {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 1rem 1.1rem;
	background: var(--ga-surface);
	border: 1px solid var(--ga-border);
	border-radius: 12px;
}

.woocommerce ul.order_details li {
	float: none;
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--ga-muted);
}

.woocommerce ul.order_details li strong {
	display: block;
	font-size: 1rem;
	text-transform: none;
	letter-spacing: 0;
	color: var(--ga-text);
	margin-top: 0.15rem;
}

/* --------------------------------------------------------------------------
   Misc safety at the narrowest widths (~360px)
   -------------------------------------------------------------------------- */
@media (max-width: 400px) {
	.ga-wc {
		padding: 1.25rem 0 2rem;
	}

	.woocommerce table.shop_table th,
	.woocommerce table.shop_table td {
		padding: 0.6rem 0.7rem;
	}

	.woocommerce div.product form.cart .single_add_to_cart_button,
	.woocommerce button#place_order {
		font-size: 1rem;
	}
}
