/* ==========================================================================
   WooCommerce Theme Overrides
   Aligns WooCommerce default styles with the Hashim Al-Rujaib brand system.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Product Grid
   -------------------------------------------------------------------------- */
.woocommerce ul.products li.product {
	border: 1px solid var(--color-gray-300);
	border-radius: var(--radius-lg);
	padding: var(--space-lg);
	transition: box-shadow var(--transition-base);
	background: var(--color-white);
}

.woocommerce ul.products li.product:hover {
	box-shadow: var(--shadow-md);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--font-ui);
	font-size: 0.9375rem;
	font-weight: var(--fw-bold);
	color: var(--color-onyx);
	padding: var(--space-sm) 0;
}

.woocommerce ul.products li.product .price {
	font-family: var(--font-heading);
	font-size: 1.125rem;
	font-weight: var(--fw-bold);
	color: var(--color-onyx);
}

/* --------------------------------------------------------------------------
   Add to Cart Button
   -------------------------------------------------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	font-family: var(--font-ui);
	font-size: 0.875rem;
	font-weight: var(--fw-semibold);
	padding: 0.625rem 1.5rem;
	border-radius: var(--radius-sm);
	background-color: var(--color-onyx);
	color: var(--color-white);
	border: 1px solid var(--color-onyx);
	transition: background-color var(--transition-fast), color var(--transition-fast);
	line-height: 1.4;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background-color: var(--color-charcoal);
	border-color: var(--color-charcoal);
	color: var(--color-white);
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
	background-color: var(--color-army-green);
	border-color: var(--color-army-green);
	color: var(--color-white);
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover {
	background-color: var(--color-army-green-dark);
	border-color: var(--color-army-green-dark);
}

/* --------------------------------------------------------------------------
   Single Product
   -------------------------------------------------------------------------- */
.woocommerce div.product .product_title {
	font-family: var(--font-heading);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: var(--fw-heading);
	color: var(--color-onyx);
}

.woocommerce div.product p.price {
	font-family: var(--font-heading);
	font-size: 1.5rem;
	font-weight: var(--fw-bold);
	color: var(--color-onyx);
}

.woocommerce div.product .woocommerce-product-details__short-description {
	font-family: var(--font-body);
	font-size: 0.9375rem;
	line-height: 1.7;
	color: var(--color-gray-500);
}

/* --------------------------------------------------------------------------
   Cart & Checkout
   -------------------------------------------------------------------------- */
.woocommerce table.shop_table {
	border: 1px solid var(--color-gray-300);
	border-radius: var(--radius-lg);
	overflow: hidden;
}

.woocommerce table.shop_table th {
	font-family: var(--font-ui);
	font-weight: var(--fw-semibold);
	background-color: var(--color-gray-100);
}

.woocommerce table.shop_table td {
	border-color: var(--color-gray-300);
}

/* --------------------------------------------------------------------------
   Forms (Checkout / My Account)
   -------------------------------------------------------------------------- */
.woocommerce form .form-row label {
	font-family: var(--font-ui);
	font-size: 0.8125rem;
	font-weight: var(--fw-bold);
	color: var(--color-onyx);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	border: 1px solid var(--color-gray-300);
	border-radius: var(--radius-sm);
	padding: 0.5rem 0.75rem;
	font-family: var(--font-body);
	font-size: 0.875rem;
	transition: border-color var(--transition-fast);
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--color-army-green);
	outline: none;
	box-shadow: 0 0 0 3px rgba(75, 124, 89, 0.15);
}

/* --------------------------------------------------------------------------
   Notices / Messages
   -------------------------------------------------------------------------- */
.woocommerce .woocommerce-message {
	border-top-color: var(--color-army-green);
}

.woocommerce .woocommerce-info {
	border-top-color: var(--color-sand);
}

.woocommerce .woocommerce-error {
	border-top-color: var(--color-error);
}

/* --------------------------------------------------------------------------
   My Account Navigation
   -------------------------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	margin-block-end: var(--space-xs);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	font-family: var(--font-ui);
	font-size: 0.875rem;
	color: var(--color-gray-500);
	padding: var(--space-sm) var(--space-md);
	display: flex;
	border-radius: var(--radius-sm);
	transition: background-color var(--transition-fast), color var(--transition-fast);
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a > span {
    color: inherit;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	background-color: var(--color-army-green);
	color: white;
	font-weight: var(--fw-semibold);
}

/* --------------------------------------------------------------------------
   Sale Badge
   -------------------------------------------------------------------------- */
.woocommerce span.onsale {
	background-color: var(--color-army-green);
	color: var(--color-white);
	font-family: var(--font-ui);
	font-size: 0.75rem;
	font-weight: var(--fw-bold);
	border-radius: var(--radius-sm);
	padding: var(--space-xs) var(--space-sm);
	min-height: auto;
	min-width: auto;
	line-height: 1.4;
}

/* --------------------------------------------------------------------------
   Star Rating
   -------------------------------------------------------------------------- */
.woocommerce .star-rating {
	color: var(--color-sand-dark);
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 47.9375em) {
	.woocommerce ul.products[class*="columns-"] li.product {
		width: 100%;
		margin-inline-end: 0;
	}
}

/* ==========================================================================
   HAR Checkout Layout — 2-column grid
   Styles for woocommerce/checkout/form-checkout.php and form-billing.php.
   ========================================================================== */

/* ── Page background ─────────────────────────────────────────────────────── */
body.woocommerce-checkout {
}

/* ── Reset WC defaults that conflict with our layout ────────────────────── */
.har-checkout-form .col2-set,
.har-checkout-form #customer_details,
.har-checkout-form .col-1,
.har-checkout-form .col-2 {
	float: none !important;
	width: auto !important;
	clear: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* ── 2-column grid ───────────────────────────────────────────────────────── */
.har-checkout-grid {
	display: grid;
	grid-template-columns: 1fr 420px;
	gap: 2rem;
	align-items: start;
	margin-block-start: 2rem;
	margin-block-end: 3rem;
	position: relative;
}

@media (max-width: 900px) {
	.har-checkout-grid {
		grid-template-columns: 1fr;
	}
	/* Summary first on mobile so users see what they're buying */
	.har-checkout-right {
		order: -1;
	}
}

/* ── Sticky right column ─────────────────────────────────────────────────── */
.har-checkout-sticky {
	position: sticky;
	top: 88px;
}

/* ── Section card ────────────────────────────────────────────────────────── */
.har-checkout-section {
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.07);
	border-radius: 1.25rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 6px 20px rgba(0, 0, 0, 0.05);
	overflow: hidden;
	margin-block-end: 1rem;
}
.har-checkout-section:last-child {
	margin-block-end: 0;
}

/* ── Section header (icon + h3 row) ─────────────────────────────────────── */
.har-checkout-section__header {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	padding: 1.125rem 1.5rem;
	border-block-end: 1px solid #f0f0f0;
	background: #fff;
	border-inline-start: 4px solid #4b7c59;
}
.har-checkout-section__header svg {
	width: 16px;
	height: 16px;
	color: #4b7c59;
	flex-shrink: 0;
	opacity: 0.8;
}
.har-checkout-section__header h3 {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	font-family: var(--font-ui, 'Montserrat', sans-serif) !important;
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	color: #151515 !important;
}

/* Hide the default WC h3 inside billing (we supply our own) */
.woocommerce-billing-fields > h3,
.woocommerce-additional-fields > h3 {
	display: none !important;
}

/* ── Billing field grid ──────────────────────────────────────────────────── */
.har-billing-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	padding: 1.5rem;
}

/* Full-width fields */
.har-billing-fields .form-row-wide,
.har-billing-fields .woocommerce-additional-fields__field-wrapper {
	grid-column: 1 / -1;
}

/* Half-width first/last pair */
.har-billing-fields .form-row-first {
	padding-inline-end: 0.5rem;
}
.har-billing-fields .form-row-last {
	padding-inline-start: 0.5rem;
}

/* RTL mirror */
[dir="rtl"] .har-billing-fields .form-row-first {
	padding-inline-end: 0;
	padding-inline-start: 0.5rem;
}
[dir="rtl"] .har-billing-fields .form-row-last {
	padding-inline-start: 0;
	padding-inline-end: 0.5rem;
}

/* Remove WC float inside our grid */
.har-billing-fields .form-row-first,
.har-billing-fields .form-row-last {
	float: none !important;
	width: auto !important;
	clear: none !important;
}

/* ── Form rows ───────────────────────────────────────────────────────────── */
.har-checkout-form .har-checkout-section .form-row {
	margin-block-end: 1.125rem !important;
}
.har-checkout-form .har-checkout-section .form-row:last-child {
	margin-block-end: 0 !important;
}

/* ── Labels ──────────────────────────────────────────────────────────────── */
.har-checkout-form .har-checkout-section label,
.har-checkout-form .har-checkout-section .form-row label {
	display: block !important;
	margin-block-end: 0.375rem !important;
	font-family: var(--font-ui, 'Montserrat', sans-serif) !important;
	font-size: 0.6875rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	color: #6b7280 !important;
}
.har-checkout-form .har-checkout-section label .required {
	color: #ef4444 !important;
}
.har-checkout-form .har-checkout-section label .optional {
	text-transform: none !important;
	font-weight: 400 !important;
	color: #9ca3af !important;
	letter-spacing: 0 !important;
}

/* ── Input, textarea, select ─────────────────────────────────────────────── */
.har-checkout-form .har-checkout-section input.input-text,
.har-checkout-form .har-checkout-section textarea,
.har-checkout-form .har-checkout-section select,
.woocommerce-checkout input.input-text,
.woocommerce-checkout select {
	display: block !important;
	width: 100% !important;
	padding: 0.8125rem 1rem !important;
	border: 1.5px solid #e2e8f0 !important;
	border-radius: 0.625rem !important;
	background: #f9fafb !important;
	font-family: var(--font-body, 'Lora', Georgia, serif) !important;
	font-size: 0.9375rem !important;
	color: #111827 !important;
	line-height: 1.5 !important;
	transition: background 0.15s, border-color 0.15s, box-shadow 0.15s !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
}
.har-checkout-form .har-checkout-section input.input-text:focus,
.har-checkout-form .har-checkout-section textarea:focus,
.har-checkout-form .har-checkout-section select:focus,
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus {
	outline: none !important;
	background: #fff !important;
	border-color: #4b7c59 !important;
	box-shadow: 0 0 0 3px rgba(75, 124, 89, 0.14) !important;
}
.har-checkout-form .har-checkout-section input.input-text::placeholder,
.har-checkout-form .har-checkout-section textarea::placeholder {
	color: #b0b7c3 !important;
}

/* Select arrow */
.har-checkout-form .har-checkout-section select,
.woocommerce-checkout #billing_country,
.woocommerce-checkout #billing_state {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%239ca3af'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 0.875rem center !important;
	background-size: 16px !important;
	padding-inline-end: 2.5rem !important;
	cursor: pointer !important;
}

/* Validation states */
.har-checkout-form .form-row.woocommerce-invalid input.input-text,
.har-checkout-form .form-row.woocommerce-invalid select,
.har-checkout-form .form-row.woocommerce-invalid textarea {
	border-color: #ef4444 !important;
	box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
	background: #fff !important;
}
.har-checkout-form .form-row.woocommerce-validated input.input-text,
.har-checkout-form .form-row.woocommerce-validated select {
	border-color: #4b7c59 !important;
}

/* ── Additional information (order notes) ────────────────────────────────── */
.woocommerce-additional-fields {
	padding: 0 1.5rem 1.5rem;
}
.woocommerce-additional-fields textarea {
	min-height: 80px;
	resize: vertical;
}

/* ── Account fields ──────────────────────────────────────────────────────── */
.har-account-fields {
	padding: 0 1.5rem 1.5rem;
}
.har-account-fields .create-account label {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	cursor: pointer;
}
.har-account-fields .create-account input[type="checkbox"] {
	width: 16px !important;
	height: 16px !important;
	accent-color: #4b7c59 !important;
	flex-shrink: 0 !important;
}

/* ── Payment section inside right column ────────────────────────────────── */
.har-checkout-section--summary #payment {
	margin: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}

/* Payment section separator */
.har-checkout-section--summary .woocommerce-checkout-review-order > #payment {
	border-block-start: 1px solid #f0f0f0;
}

/* Payment methods list */
.har-checkout-section--summary .wc_payment_methods {
	list-style: none !important;
	margin: 0 !important;
	padding: 1.25rem 1.25rem 20px !important;
}

/* Each payment method as a selectable card */
.har-checkout-section--summary .wc_payment_methods li {
	border: 1.5px solid #e5e7eb !important;
	border-radius: 0.875rem !important;
	margin-block-end: 0.625rem !important;
	overflow: hidden !important;
	transition: border-color 0.15s, background 0.15s !important;
	background: #fff !important;
}
.har-checkout-section--summary .wc_payment_methods li:last-child {
	margin-block-end: 0 !important;
	padding-inline: 20px;
}
.har-checkout-section--summary .wc_payment_methods li:has(input:checked) {
	border-color: #4b7c59 !important;
	background: rgba(75, 124, 89, 0.03) !important;
}

.wc_payment_method.payment_method_upayments > input {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    pointer-events: none;
    opacity: 0;
}

.wc_payment_method {
    position: relative;
}

/* Payment method label row */
.har-checkout-section--summary .wc_payment_methods li label {
	display: flex !important;
	align-items: center !important;
	gap: 0.75rem !important;
	padding: 1rem 1.125rem !important;
	cursor: pointer !important;
	font-family: var(--font-ui, 'Montserrat', sans-serif) !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: #151515 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	background: transparent !important;
}
.har-checkout-section--summary .wc_payment_methods li label input[type="radio"] {
	accent-color: #4b7c59 !important;
	width: 17px !important;
	height: 17px !important;
	cursor: pointer !important;
	flex-shrink: 0 !important;
	margin: 0 !important;
}

/* Test gateway label — make it green */
.har-checkout-section--summary .wc_payment_methods .payment_method_har_test label {
	color: #4b7c59 !important;
}

/* Payment box (expanded content below label) */
.har-checkout-section--summary .wc_payment_methods li .payment_box {
	padding: 0 1.125rem 1.125rem !important;
	border-block-start: 1px solid rgba(0, 0, 0, 0.05) !important;
	margin-block-start: 0 !important;
	background: transparent !important;
}
.har-checkout-section--summary .wc_payment_methods li .payment_box::before {
	display: none !important; /* remove WC triangle arrow */
}
.har-checkout-section--summary .wc_payment_methods li .payment_box p {
	margin: 0.75rem 0 0 !important;
	font-size: 0.8125rem !important;
	color: #6b7280 !important;
}

/* ── Place order button ───────────────────────────────────────────────────── */
.har-checkout-section--summary .form-row.place-order {
	padding: 1.25rem !important;
	margin: 0 !important;
	background: transparent !important;
}
.har-checkout-section--summary #place_order,
#place_order {
	display: block !important;
	width: 100% !important;
	padding: 1.0625rem 1.5rem !important;
	background: #4b7c59 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 0.75rem !important;
	font-family: var(--font-ui, 'Montserrat', sans-serif) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: none !important;
	cursor: pointer !important;
	transition: background-color 0.2s, transform 0.1s, box-shadow 0.2s !important;
	box-shadow: 0 4px 14px rgba(75, 124, 89, 0.35) !important;
}
.har-checkout-section--summary #place_order:hover,
#place_order:hover {
	background: #3a6147 !important;
	box-shadow: 0 6px 20px rgba(75, 124, 89, 0.4) !important;
}
.har-checkout-section--summary #place_order:active,
#place_order:active {
	transform: scale(0.985) !important;
	box-shadow: none !important;
}

/* ── Privacy policy text ─────────────────────────────────────────────────── */
.woocommerce-privacy-policy-text {
	font-size: 0.75rem !important;
	color: #9ca3af !important;
	text-align: center !important;
	padding: 0 1.25rem 1rem !important;
	line-height: 1.5 !important;
}
.woocommerce-privacy-policy-text a {
	color: #4b7c59 !important;
	text-decoration: underline !important;
}

/* ── WC notices inside checkout ─────────────────────────────────────────── */
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info {
	margin-block-end: 1.25rem !important;
	border-radius: 0.75rem !important;
}

/* ==========================================================================
   HAR Checkout Order Review Override
   Styles for woocommerce/checkout/review-order.php template override.
   ========================================================================== */

/* Container */
.har-order-review {
	font-family: var(--font-ui, 'Montserrat', sans-serif);
}

/* ── Items list ──────────────────────────────────────────────────────────── */
.har-order-items {
	border: 1px solid #e5e7eb;
	border-radius: 1rem;
	overflow: hidden;
	margin-block-end: 0;
	margin: 15px;
}

.har-order-item {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.125rem 1.25rem;
	border-block-end: 1px solid #f3f4f6;
	background: #fff;
}
.har-order-item:last-child {
	border-block-end: none;
}

/* Thumbnail */
.har-order-item__thumb {
	flex-shrink: 0;
	width: 80px;
	height: 56px;
	border-radius: 0.5rem;
	overflow: hidden;
	background: #f3f4f6;
}
.har-order-item__thumb a {
	display: block;
	height: 100%;
}
.har-order-item__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.har-order-item__thumb-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #9ca3af;
}
.har-order-item__thumb-placeholder svg {
	width: 28px;
	height: 28px;
}

/* Details */
.har-order-item__details {
	flex: 1;
	min-width: 0;
}
.har-order-item__cat {
	display: block;
	margin-block-end: 0.25rem;
	font-size: 0.625rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #4b7c59; /* army-green */
}
.har-order-item__name {
	margin: 0 0 0.5rem;
	font-family: var(--font-heading, 'Freight Display', Georgia, serif);
	font-size: 0.9375rem;
	line-height: 1.3;
	color: #151515;
}
.har-order-item__name a {
	color: inherit;
	text-decoration: none;
}
.har-order-item__name a:hover {
	color: #4b7c59;
}

/* Meta badges */
.har-order-item__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
}
.har-order-item__meta span {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.6875rem;
	color: #6b7280;
}
.har-order-item__meta svg {
	width: 12px;
	height: 12px;
	flex-shrink: 0;
}

/* Price */
.har-order-item__price {
	flex-shrink: 0;
	font-family: var(--font-heading, 'Freight Display', Georgia, serif);
	font-size: 1rem;
	font-weight: 600;
	color: #151515;
	padding-block-start: 0.125rem;
}
.har-order-item__price .amount {
	white-space: nowrap;
}

/* ── Totals ──────────────────────────────────────────────────────────────── */
.har-order-totals {
	border: 1px solid #e5e7eb;
	border-radius: 1rem;
	overflow: hidden;
	margin-block-start: 0.875rem;
	background: #fff;
	margin-inline: 15px;
}
.har-order-totals__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.75rem 1.25rem;
	border-block-end: 1px solid #f3f4f6;
	font-size: 0.875rem;
	color: #374151;
}
.har-order-totals__row:last-child {
	border-block-end: none;
}
.har-order-totals__coupon {
	color: #4b7c59;
}
.har-order-totals__total {
	font-weight: 700;
	font-size: 1rem;
	color: #151515;
	background: #f9fafb;
	border-top: 2px solid #e5e7eb !important;
}
.har-order-totals__total .amount {
	font-family: var(--font-heading, 'Freight Display', Georgia, serif);
	font-size: 1.125rem;
}

/* ── Trust badges ────────────────────────────────────────────────────────── */
.har-checkout-trust {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem 1.25rem;
	margin-block-start: 0.875rem;
	padding: 0.875rem 1rem;
	border: 1px solid #e5e7eb;
	border-radius: 1rem;
	background: #f9fafb;
	margin-inline: 15px;
}
.har-checkout-trust span {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #6b7280;
}
.har-checkout-trust svg {
	width: 13px;
	height: 13px;
	flex-shrink: 0;
	color: #4b7c59;
}

/* ── Enhanced checkout form fields ───────────────────────────────────────── */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	padding: 0.75rem 1rem;
	border-radius: 0.75rem;
	font-size: 0.9375rem;
	line-height: 1.5;
	background: #fff;
}

.woocommerce form .form-row label {
	margin-block-end: 0.25rem;
	letter-spacing: 0.03em;
}

/* Place-order button */
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
	width: 100%;
	padding: 1rem 1.5rem;
	font-size: 0.9375rem;
	letter-spacing: 0.08em;
	border-radius: 0.875rem;
	background-color: #151515;
	color: #fff;
	font-weight: 700;
	transition: background-color 0.2s;
}
.woocommerce #payment #place_order:hover,
.woocommerce-page #payment #place_order:hover {
	background-color: #4b7c59;
}

/* ── Enrollment confirmed banner ─────────────────────────────────────────── */
.har-enrolled-banner {
	position: fixed;
	inset-block-end: 1.5rem;
	inset-inline-start: 50%;
	transform: translateX(-50%);
	z-index: 9999;
	display: flex;
	align-items: flex-start;
	gap: 0.875rem;
	max-width: calc(100vw - 2rem);
	width: max-content;
	padding: 1rem 1.25rem;
	background: #151515;
	color: #fff;
	border-radius: 1rem;
	box-shadow: 0 8px 32px rgba(21, 21, 21, 0.35);
	font-family: var(--font-ui, 'Montserrat', sans-serif);
}
.har-enrolled-banner__icon {
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	color: #4b7c59;
	margin-block-start: 0.1rem;
}
.har-enrolled-banner__body {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	font-size: 0.8125rem;
	line-height: 1.5;
}
.har-enrolled-banner__body strong {
	font-weight: 700;
	font-size: 0.875rem;
}
.har-enrolled-banner__body span {
	color: #9ca3af;
}
.har-enrolled-banner__close {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	background: transparent;
	border: none;
	color: #6b7280;
	cursor: pointer;
	border-radius: 0.375rem;
	transition: color 0.15s;
	padding: 0;
	margin-block-start: 0.1rem;
}
.har-enrolled-banner__close:hover {
	color: #fff;
}
.har-enrolled-banner__close svg {
	width: 14px;
	height: 14px;
}

/* RTL mirror for enrolled banner */
[dir="rtl"] .har-enrolled-banner {
	transform: translateX(50%);
}

/* ── Test payment gateway notice ─────────────────────────────────────────── */
.har-test-gateway-notice {
	margin-block-start: 0.5rem;
	padding: 0.875rem 1rem;
	border: 2px dashed #f59e0b;
	border-radius: 0.75rem;
	background: #fffbeb;
}
.har-test-gateway-badge {
	display: inline-block;
	margin-block-end: 0.375rem;
	padding: 0.15rem 0.5rem;
	background: #f59e0b;
	color: #1c1917;
	font-family: var(--font-ui, 'Montserrat', sans-serif);
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border-radius: 0.25rem;
}
.har-test-gateway-notice p {
	margin: 0;
	font-size: 0.8125rem;
	color: #92400e;
	line-height: 1.5;
}



#add_payment_method #payment ul.payment_methods li input, .woocommerce-cart #payment ul.payment_methods li input, .woocommerce-checkout #payment ul.payment_methods li input {
    margin-inline: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    float: none;
    width: auto;
}

.woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: auto;
}

/* ==========================================================================
   My Account — Notices / Alerts
   Brand-styled replacements for WooCommerce default notice banners.
   ========================================================================== */

.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-info {
	display: flex !important;
	align-items: flex-start !important;
	gap: 0.75rem !important;
	padding: 1rem 1.25rem !important;
	border-radius: 1rem !important;
	border: none !important;
	border-inline-start: none !important;
	margin-block-end: 1.5rem !important;
	font-family: var(--font-body, 'Lora', Georgia, serif) !important;
	font-size: 0.875rem !important;
	line-height: 1.6 !important;
	list-style: none !important;
}

/* Success */
.woocommerce-account .woocommerce-message {
	background-color: rgba(75, 124, 89, 0.08) !important;
	color: #2d5e3a !important;
	border-inline-start: 3px solid #4b7c59 !important;
}

/* Info */
.woocommerce-account .woocommerce-info {
	background-color: rgba(201, 184, 154, 0.15) !important;
	color: #6b5b3e !important;
	border-inline-start: 3px solid #c9b89a !important;
}

/* Error */
.woocommerce-account .woocommerce-error {
	background-color: rgba(239, 68, 68, 0.07) !important;
	color: #991b1b !important;
	border-inline-start: 3px solid #ef4444 !important;
}

.woocommerce-account .woocommerce-error li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Remove legacy WC triangle before notices */
.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-error::before {
	display: none !important;
}

/* ==========================================================================
   My Account — Edit Account Form
   Extra resets so our Tailwind-based form-edit-account.php renders cleanly.
   ========================================================================== */

/* Remove WC float-based layout */
.woocommerce-EditAccountForm .form-row {
	float: none !important;
	width: auto !important;
	clear: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Hide WC-generated fieldset legend (we supply our own heading) */
.woocommerce-EditAccountForm fieldset {
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.woocommerce-EditAccountForm fieldset legend {
	display: none !important;
}

/* ==========================================================================
   My Account — Order View Page (view-order.php)
   Scoped to .har-order-details so WC hooks render inside our card container.
   ========================================================================== */

/* Strip default WC section wrapper styles */
.har-order-details .woocommerce-order-details {
	margin: 0 !important;
	padding: 0 !important;
}

/* Hide duplicate "Order details" h2 (we render our own heading) */
.har-order-details .woocommerce-order-details__title {
	display: none !important;
}

/* ── Default shop_table inside our order view ─────────────────────────── */
.har-order-details table.shop_table {
	width: 100% !important;
	border-collapse: collapse !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 1rem !important;
	overflow: hidden !important;
	font-family: var(--font-body, 'Lora', Georgia, serif) !important;
	font-size: 0.875rem !important;
	margin: 0 !important;
}

.har-order-details table.shop_table thead tr {
	background: #f9fafb !important;
}

.har-order-details table.shop_table thead th {
	padding: 0.75rem 1.25rem !important;
	font-family: var(--font-ui, 'Montserrat', sans-serif) !important;
	font-size: 0.625rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	color: #9ca3af !important;
	border-block-end: 1px solid #e5e7eb !important;
	text-align: start !important;
}

.har-order-details table.shop_table tbody td,
.har-order-details table.shop_table tfoot th,
.har-order-details table.shop_table tfoot td {
	padding: 0.875rem 1.25rem !important;
	border-block-end: 1px solid #f3f4f6 !important;
	color: #374151 !important;
	vertical-align: middle !important;
}

.har-order-details table.shop_table tfoot {
	background: #f9fafb !important;
}

.har-order-details table.shop_table tfoot th {
	font-family: var(--font-ui, 'Montserrat', sans-serif) !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	color: #6b7280 !important;
}

.har-order-details table.shop_table tfoot tr:last-child th,
.har-order-details table.shop_table tfoot tr:last-child td {
	font-family: var(--font-heading, 'Freight Display', Georgia, serif) !important;
	font-size: 1.0625rem !important;
	font-weight: 500 !important;
	color: #151515 !important;
	border-block-end: none !important;
}

/* ── "Order again" button ─────────────────────────────────────────────── */
.har-order-details .woocommerce-order-details + .woocommerce-customer-details,
.har-order-details .wc-item-meta {
	font-size: 0.8125rem !important;
	color: #9ca3af !important;
}

/* ── Customer address section ──────────────────────────────────────────── */
.har-order-details .woocommerce-customer-details address {
	font-style: normal !important;
	font-family: var(--font-body, 'Lora', Georgia, serif) !important;
	font-size: 0.875rem !important;
	color: #4b5563 !important;
	line-height: 1.7 !important;
}

/* Phone / email micro-labels */
.har-order-details .woocommerce-customer-details--phone,
.har-order-details .woocommerce-customer-details--email {
	margin-block-start: 0.25rem !important;
	font-size: 0.8125rem !important;
	color: #6b7280 !important;
}


.woocommerce .woocommerce-order-details .order-again {
    padding-top: 20px;
}