/**
 * LM Beauty Studio — WooCommerce Luxury Styles & Single Product
 *
 * Fully tailored to the brand aesthetic: Charlotte Veronica headings,
 * gold highlights (#C1A981), radio button variation pills in 1 row,
 * top tag badge, clean compact spacing, and direct checkout flow.
 *
 * @package LM_Beauty_Studio
 * @since   1.0.0
 */

/* ══════════════════════════════════════════════════════════════════════════
   Global WooCommerce Resets & Container
   ══════════════════════════════════════════════════════════════════════════ */
.woocommerce-main {
	padding: var(--spacing-lg) 0 var(--spacing-3xl);
	background-color: var(--color-background);
}

.woocommerce-container {
	max-width: var(--container-max-width);
	margin: 0 auto;
	padding: 0 var(--container-padding);
}

/* Page Title for Checkout / Cart / Account */
.woocommerce-checkout .entry__title,
.woocommerce-cart .entry__title,
.woocommerce-account .entry__title {
	font-family: var(--font-heading);
	font-size: clamp(2.2rem, 3.8vw, 3rem);
	font-weight: var(--font-weight-bold);
	line-height: 1.15;
	color: var(--color-primary);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	text-align: center;
	margin: 0 0 var(--spacing-2xl);
}

.woocommerce-checkout .entry__header,
.woocommerce-cart .entry__header,
.woocommerce-account .entry__header {
	margin-bottom: var(--spacing-lg);
}

/* Ensure full-width container on all WooCommerce pages */
.woocommerce-account .entry,
.woocommerce-checkout .entry,
.woocommerce-cart .entry,
.woocommerce-page .entry {
	max-width: 100% !important;
	padding: 0 !important;
	width: 100% !important;
}

/* Fix header logo sizing inside WooCommerce context */
body.woocommerce .site-header__logo,
body.woocommerce-page .site-header__logo {
	height: auto !important;
	max-height: 65px !important;
	width: auto !important;
	max-width: 280px !important;
	display: block !important;
	object-fit: contain !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   Breadcrumbs
   ══════════════════════════════════════════════════════════════════════════ */
.woocommerce-breadcrumb.lm-breadcrumb {
	font-family: var(--font-primary);
	font-size: 0.78rem;
	font-weight: var(--font-weight-medium);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #8A847B;
	margin-bottom: var(--spacing-lg);
	padding: 0;
}

.woocommerce-breadcrumb.lm-breadcrumb a {
	color: var(--color-primary);
	text-decoration: none;
	transition: color var(--transition-base);
}

.woocommerce-breadcrumb.lm-breadcrumb a:hover {
	color: var(--color-primary-dark);
}

/* ══════════════════════════════════════════════════════════════════════════
   Single Product Layout
   ══════════════════════════════════════════════════════════════════════════ */
.woocommerce div.product {
	display: grid;
	grid-template-columns: 1fr 1.18fr;
	gap: var(--spacing-2xl);
	align-items: start;
	position: relative;
}

/* ── Product Media / Gallery (Left Column) ────────────────────────────── */
.woocommerce div.product div.images {
	width: 100% !important;
	float: none !important;
	margin-bottom: 0 !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
	background-color: var(--color-background-alt);
}

.woocommerce div.product div.images img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	transition: transform var(--transition-slow);
}

.woocommerce div.product div.images:hover img {
	transform: scale(1.02);
}

/* ── Product Summary (Right Column) ──────────────────────────────────── */
.woocommerce div.product div.summary {
	width: 100% !important;
	float: none !important;
	display: flex;
	flex-direction: column;
}

/* Top Tag Badge */
.single-product-badge-wrap {
	margin-bottom: 8px;
}

.single-product-badge {
	display: inline-block;
	background-color: rgba(193, 169, 129, 0.12);
	color: var(--color-primary-dark);
	border: 1px solid rgba(193, 169, 129, 0.35);
	font-family: var(--font-primary);
	font-size: 0.72rem;
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 4px 14px;
	border-radius: 50px;
}

/* Title */
.woocommerce div.product .product_title.entry-title {
	font-family: var(--font-heading);
	font-size: clamp(2rem, 3.2vw, 2.8rem);
	font-weight: var(--font-weight-bold);
	line-height: 1.15;
	color: var(--color-primary);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	margin: 0 0 10px;
}

/* Price */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-family: var(--font-primary);
	font-size: 1.45rem;
	font-weight: var(--font-weight-bold);
	color: var(--color-primary-dark);
	margin: 0 0 var(--spacing-md);
	display: flex;
	align-items: baseline;
	gap: 6px;
}

.woocommerce div.product p.price del {
	font-size: 1.1rem;
	font-weight: var(--font-weight-normal);
	color: #9C968D;
}

.woocommerce div.product p.price ins {
	text-decoration: none;
	color: var(--color-primary-dark);
}

/* Short Description / Course Highlights */
.woocommerce-product-details__short-description {
	font-family: var(--font-primary);
	font-size: 0.92rem;
	line-height: 1.65;
	color: #5E5950;
	margin-bottom: var(--spacing-lg);
	padding-bottom: var(--spacing-md);
	border-bottom: 1px solid #ECE7E0;
}

.woocommerce-product-details__short-description ul {
	margin: 8px 0;
	padding-left: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.woocommerce-product-details__short-description li {
	position: relative;
	padding-left: 16px;
}

.woocommerce-product-details__short-description li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 8px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background-color: var(--color-primary);
}

.woocommerce-product-details__short-description b,
.woocommerce-product-details__short-description strong {
	color: #4A453C;
	font-weight: var(--font-weight-bold);
}

/* ── Radio Button Variations in 1 Single Horizontal Row ──────────────── */
.woocommerce div.product form.cart {
	margin-bottom: var(--spacing-md);
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.lm-variations-radios {
	margin-bottom: 4px;
}

.lm-variation-row {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.lm-variation-label {
	font-family: var(--font-primary);
	font-size: 0.8rem;
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #4A453C;
	flex-shrink: 0;
}

.lm-variation-options {
	display: flex;
	align-items: center;
}

.lm-radio-group {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.lm-radio-pill {
	position: relative;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	margin: 0;
}

.lm-radio-pill input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
	width: 0;
	height: 0;
}

.lm-radio-pill__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 18px;
	border-radius: 50px;
	border: 1.5px solid #E5DFD7;
	background-color: #FFFFFF;
	font-family: var(--font-primary);
	font-size: 0.85rem;
	font-weight: var(--font-weight-medium);
	color: #5E5950;
	transition: all var(--transition-base);
	user-select: none;
}

.lm-radio-pill__dot {
	width: 13px;
	height: 13px;
	border-radius: 50%;
	border: 1.5px solid #C8C2BA;
	display: inline-block;
	position: relative;
	transition: all var(--transition-base);
	flex-shrink: 0;
}

.lm-radio-pill:hover .lm-radio-pill__btn {
	border-color: var(--color-primary);
	color: var(--color-primary-dark);
}

.lm-radio-pill.is-active .lm-radio-pill__btn {
	border-color: var(--color-primary);
	background-color: #FAF8F5;
	color: var(--color-primary-dark);
	font-weight: var(--font-weight-semibold);
	box-shadow: 0 2px 8px rgba(193, 169, 129, 0.15);
}

.lm-radio-pill.is-active .lm-radio-pill__dot {
	border-color: var(--color-primary);
	background-color: var(--color-primary);
	box-shadow: inset 0 0 0 2.5px #FFFFFF;
}

/* Hide Quantity */
.woocommerce div.product form.cart .quantity {
	display: none !important;
}

.woocommerce-variation-add-to-cart {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 4px;
}

/* Dynamic variation price & stock info */
.woocommerce-variation-price .price {
	font-size: 1.55rem !important;
	font-weight: var(--font-weight-bold) !important;
	color: var(--color-primary-dark) !important;
	margin-bottom: 6px !important;
}

/* ── Primary Action Button (ENROLL NOW -> Direct Checkout) ────────────── */
.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart .single_add_to_cart_button {
	display: inline-block !important;
	width: 100% !important;
	max-width: 380px !important;
	padding: 15px 34px !important;
	background-color: var(--color-primary) !important;
	color: #FFFFFF !important;
	border: 1.5px solid var(--color-primary) !important;
	border-radius: 50px !important;
	font-family: var(--font-primary) !important;
	font-size: 0.82rem !important;
	font-weight: var(--font-weight-semibold) !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	text-align: center !important;
	text-decoration: none !important;
	cursor: pointer !important;
	transition: background-color var(--transition-base),
	            border-color var(--transition-base),
	            transform var(--transition-base),
	            box-shadow var(--transition-base) !important;
	box-shadow: 0 4px 16px rgba(193, 169, 129, 0.25) !important;
	margin-top: 4px !important;
}

.woocommerce div.product form.cart .button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
	background-color: var(--color-primary-dark) !important;
	border-color: var(--color-primary-dark) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 24px rgba(193, 169, 129, 0.35) !important;
}

/* ── Related Courses Section (Custom 3-Column Grid) ───────────────────── */
.related-courses-section {
	grid-column: 1 / -1;
	margin-top: var(--spacing-3xl);
	padding-top: var(--spacing-2xl);
	border-top: 1px solid #ECE7E0;
}

.related-courses__title {
	font-family: var(--font-heading);
	font-size: clamp(1.8rem, 2.8vw, 2.4rem);
	font-weight: var(--font-weight-bold);
	line-height: 1.15;
	color: var(--color-primary);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	text-align: center;
	margin: 0 0 var(--spacing-2xl);
}

.related-courses__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--spacing-xl);
	list-style: none;
	padding: 0;
	margin: 0;
}

/* ══════════════════════════════════════════════════════════════════════════
   WooCommerce Checkout Page Styles
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Coupon & Login Notices ───────────────────────────────────────────── */
.woocommerce-form-coupon-toggle,
.woocommerce-form-login-toggle {
	margin-bottom: var(--spacing-md);
}

.woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-form-login-toggle .woocommerce-info {
	background-color: #FAF8F5;
	border: 1.5px solid #EBE6DF;
	border-left: 4px solid var(--color-primary);
	border-radius: 14px;
	padding: 14px 20px;
	font-family: var(--font-primary);
	font-size: 0.88rem;
	color: #5E5950;
	margin-bottom: var(--spacing-lg);
}

.woocommerce-form-coupon-toggle .woocommerce-info a,
.woocommerce-form-login-toggle .woocommerce-info a {
	color: var(--color-primary);
	font-weight: var(--font-weight-semibold);
	text-decoration: underline;
	transition: color var(--transition-base);
}

.woocommerce-form-coupon-toggle .woocommerce-info a:hover,
.woocommerce-form-login-toggle .woocommerce-info a:hover {
	color: var(--color-primary-dark);
}

/* Coupon Form Box */
form.checkout_coupon {
	background-color: #FAF8F5;
	border: 1.5px solid #EBE6DF;
	border-radius: 16px;
	padding: 20px 24px;
	margin-bottom: var(--spacing-2xl);
	display: flex;
	gap: 12px;
	align-items: center;
	flex-wrap: wrap;
}

form.checkout_coupon .form-row {
	margin: 0;
	padding: 0;
	flex-grow: 1;
}

form.checkout_coupon input.input-text {
	width: 100%;
	border: 1.5px solid #E5DFD7;
	border-radius: 50px;
	padding: 12px 20px;
	font-family: var(--font-primary);
	font-size: 0.9rem;
	background-color: #FFFFFF;
	outline: none;
}

form.checkout_coupon input.input-text:focus {
	border-color: var(--color-primary);
}

form.checkout_coupon .button {
	padding: 12px 26px !important;
	border-radius: 50px !important;
	font-size: 0.78rem !important;
	letter-spacing: 0.15em !important;
}

/* ── Checkout Main Layout (2 Columns) ─────────────────────────────────── */
form.checkout.woocommerce-checkout {
	display: grid !important;
	grid-template-columns: 1.15fr 0.85fr !important;
	gap: 24px !important;
	align-items: start !important;
	margin-top: var(--spacing-md) !important;
	width: 100% !important;
}

/* ── Left Column: Billing / Customer Details ──────────────────────────── */
#customer_details {
	background-color: #FFFFFF;
	border: 1px solid #ECE7E0;
	border-radius: 20px;
	padding: 36px 32px;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
}

#customer_details .col-1,
#customer_details .col-2 {
	width: 100% !important;
	float: none !important;
	margin: 0;
}

.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
.woocommerce-additional-fields > h3 {
	font-family: var(--font-heading);
	font-size: 1.75rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.2;
	color: var(--color-primary);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	margin: 0 0 var(--spacing-lg);
	padding-bottom: var(--spacing-sm);
	border-bottom: 1px solid #ECE7E0;
}

/* Form Row & Input Styling */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 16px 20px !important;
	width: 100% !important;
}

.woocommerce-checkout .form-row {
	display: flex !important;
	flex-direction: column !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	float: none !important;
	clear: none !important;
	box-sizing: border-box !important;
}

.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-checkout #billing_first_name_field {
	grid-column: 1 !important;
}

.woocommerce-checkout #billing_last_name_field {
	grid-column: 2 !important;
}

.woocommerce-checkout .form-row-wide,
.woocommerce-checkout .form-row.notes,
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #billing_email_field,
.woocommerce-checkout #order_comments_field {
	grid-column: 1 / -1 !important;
}

.woocommerce-checkout #billing_city_field {
	grid-column: 1 !important;
}

.woocommerce-checkout #billing_state_field {
	grid-column: 2 !important;
}

.woocommerce-checkout #billing_postcode_field {
	grid-column: 1 !important;
}

.woocommerce-checkout #billing_phone_field {
	grid-column: 2 !important;
}

.woocommerce-checkout .form-row label {
	font-family: var(--font-primary) !important;
	font-size: 0.78rem !important;
	font-weight: var(--font-weight-semibold) !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: #4A453C !important;
	margin-bottom: 6px !important;
	line-height: 1.3 !important;
	display: block !important;
	white-space: nowrap !important;
}

.woocommerce-checkout .form-row label .required {
	color: var(--color-primary) !important;
	text-decoration: none !important;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea.input-text,
.woocommerce-checkout .form-row select {
	width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	border: 1.5px solid #E5DFD7 !important;
	border-radius: 12px !important;
	padding: 13px 18px !important;
	font-family: var(--font-primary) !important;
	font-size: 0.92rem !important;
	color: #5E5950 !important;
	background-color: #FFFFFF !important;
	outline: none !important;
	transition: border-color var(--transition-base), box-shadow var(--transition-base) !important;
	height: 48px !important;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea.input-text:focus,
.woocommerce-checkout .form-row select:focus {
	border-color: var(--color-primary) !important;
	box-shadow: 0 0 0 3px rgba(193, 169, 129, 0.15) !important;
}

.woocommerce-checkout .form-row textarea.input-text {
	height: auto !important;
	min-height: 80px !important;
	resize: vertical !important;
}

/* Select2 Country/State dropdowns */
.select2-container--default .select2-selection--single {
	height: 48px !important;
	border: 1.5px solid #E5DFD7 !important;
	border-radius: 12px !important;
	display: flex !important;
	align-items: center !important;
	padding: 0 8px !important;
	background-color: #FFFFFF !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #5E5950 !important;
	font-family: var(--font-primary) !important;
	font-size: 0.92rem !important;
	line-height: 48px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 48px !important;
	right: 12px !important;
}

.select2-dropdown {
	border: 1.5px solid var(--color-primary) !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
	overflow: hidden !important;
}

/* ── Right Column: Order Review & Payment (Sticky Card) ──────────────── */
#order_review_heading {
	display: none; /* Managed inside the review container */
}

#order_review {
	background-color: #FAF8F5;
	border: 1.5px solid #EBE6DF;
	border-radius: 20px;
	padding: 32px 28px;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
	position: sticky;
	top: 100px;
}

#order_review::before {
	content: 'YOUR ENROLLMENT';
	display: block;
	font-family: var(--font-heading);
	font-size: 1.75rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.2;
	color: var(--color-primary);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	margin-bottom: var(--spacing-md);
	padding-bottom: var(--spacing-sm);
	border-bottom: 1px solid #ECE7E0;
}

/* Order Review Table */
.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: var(--spacing-lg);
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 12px 0;
	border-bottom: 1px solid #ECE7E0;
	font-family: var(--font-primary);
	font-size: 0.9rem;
	color: #5E5950;
}

.woocommerce-checkout-review-order-table th {
	font-size: 0.78rem;
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #8A847B;
}

.woocommerce-checkout-review-order-table .product-name {
	font-weight: var(--font-weight-medium);
	color: #3A352C;
}

.woocommerce-checkout-review-order-table .product-name .variation {
	font-size: 0.78rem;
	color: #8A847B;
	margin-top: 4px;
}

.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table .cart-subtotal td {
	text-align: right;
	font-weight: var(--font-weight-semibold);
	color: var(--color-primary-dark);
}

.woocommerce-checkout-review-order-table tr.order-total th,
.woocommerce-checkout-review-order-table tr.order-total td {
	border-top: 2px solid #E5DFD7;
	border-bottom: none;
	padding-top: 16px;
	padding-bottom: 8px;
	font-size: 1.15rem;
	font-weight: var(--font-weight-bold);
	color: var(--color-primary-dark);
}

.woocommerce-checkout-review-order-table tr.order-total td {
	text-align: right;
}

/* ── Payment Gateways ─────────────────────────────────────────────────── */
#payment {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin-top: var(--spacing-md);
}

#payment ul.payment_methods {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--spacing-lg);
	display: flex;
	flex-direction: column;
	gap: 10px;
	border: none;
}

#payment ul.payment_methods li {
	border: 1.5px solid #E5DFD7;
	border-radius: 12px;
	padding: 14px 18px;
	background-color: #FFFFFF;
	transition: all var(--transition-base);
}

#payment ul.payment_methods li:hover {
	border-color: var(--color-primary);
}

#payment ul.payment_methods li input[type="radio"]:checked + label {
	color: var(--color-primary-dark);
	font-weight: var(--font-weight-bold);
}

#payment ul.payment_methods li label {
	font-family: var(--font-primary);
	font-size: 0.88rem;
	font-weight: var(--font-weight-semibold);
	color: #4A453C;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

#payment div.payment_box {
	background-color: #FAF8F5 !important;
	border: 1px solid #EBE6DF !important;
	border-radius: 8px !important;
	padding: 12px 16px !important;
	margin-top: 10px !important;
	font-family: var(--font-primary) !important;
	font-size: 0.84rem !important;
	color: #6E685E !important;
	line-height: 1.5 !important;
}

#payment div.payment_box::before {
	display: none !important;
}

/* Terms & Conditions Notice */
.woocommerce-terms-and-conditions-wrapper {
	font-family: var(--font-primary);
	font-size: 0.8rem;
	color: #7A746B;
	margin-bottom: 16px;
	line-height: 1.5;
}

.woocommerce-terms-and-conditions-wrapper a {
	color: var(--color-primary);
	text-decoration: underline;
}

/* ── Place Order Button ───────────────────────────────────────────────── */
#place_order {
	display: block !important;
	width: 100% !important;
	padding: 18px 36px !important;
	background-color: var(--color-primary) !important;
	color: #FFFFFF !important;
	border: 1.5px solid var(--color-primary) !important;
	border-radius: 50px !important;
	font-family: var(--font-primary) !important;
	font-size: 0.85rem !important;
	font-weight: var(--font-weight-semibold) !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	text-align: center !important;
	cursor: pointer !important;
	transition: background-color var(--transition-base),
	            border-color var(--transition-base),
	            transform var(--transition-base),
	            box-shadow var(--transition-base) !important;
	box-shadow: 0 6px 20px rgba(193, 169, 129, 0.35) !important;
}

#place_order:hover {
	background-color: var(--color-primary-dark) !important;
	border-color: var(--color-primary-dark) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 10px 28px rgba(193, 169, 129, 0.45) !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   Order Received / Thank You Page
   ══════════════════════════════════════════════════════════════════════════ */
.woocommerce-order {
	max-width: 860px;
	margin: 0 auto;
	padding: var(--spacing-2xl) 0;
}

.woocommerce-thankyou-order-received {
	font-family: var(--font-heading);
	font-size: clamp(2rem, 3.5vw, 2.8rem);
	font-weight: var(--font-weight-bold);
	line-height: 1.2;
	color: var(--color-primary);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	text-align: center;
	margin-bottom: var(--spacing-2xl);
}

ul.woocommerce-thankyou-order-details {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	background-color: #FAF8F5;
	border: 1.5px solid #EBE6DF;
	border-radius: 16px;
	padding: 24px 20px;
	list-style: none;
	margin: 0 0 var(--spacing-2xl);
	text-align: center;
}

ul.woocommerce-thankyou-order-details li {
	border-right: 1px solid #ECE7E0;
	padding: 0 10px;
	font-family: var(--font-primary);
	font-size: 0.8rem;
	text-transform: uppercase;
	color: #8A847B;
}

ul.woocommerce-thankyou-order-details li:last-child {
	border-right: none;
}

ul.woocommerce-thankyou-order-details li strong {
	display: block;
	font-size: 1rem;
	color: var(--color-primary-dark);
	font-weight: var(--font-weight-bold);
	margin-top: 4px;
}

.woocommerce-order-details,
.woocommerce-customer-details {
	background-color: #FFFFFF;
	border: 1px solid #ECE7E0;
	border-radius: 20px;
	padding: 32px 28px;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
	margin-bottom: var(--spacing-xl);
}

.woocommerce-order-details__title,
.woocommerce-customer-details h2 {
	font-family: var(--font-heading);
	font-size: 1.6rem;
	color: var(--color-primary);
	text-transform: uppercase;
	margin-bottom: var(--spacing-md);
	padding-bottom: var(--spacing-xs);
	border-bottom: 1px solid #ECE7E0;
}

.woocommerce-table--order-details {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
	padding: 12px 0;
	border-bottom: 1px solid #ECE7E0;
	font-family: var(--font-primary);
	font-size: 0.92rem;
	color: #5E5950;
}

.woocommerce-table--order-details th {
	font-weight: var(--font-weight-semibold);
	color: #8A847B;
	text-transform: uppercase;
	font-size: 0.8rem;
}

.woocommerce-table--order-details tfoot th {
	text-transform: none;
	font-weight: var(--font-weight-semibold);
}

.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
	font-size: 1.2rem;
	font-weight: var(--font-weight-bold);
	color: var(--color-primary-dark);
	border-top: 2px solid #E5DFD7;
	border-bottom: none;
}

/* ══════════════════════════════════════════════════════════════════════════
   WooCommerce My Account Styles
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Login / Register Form (Logged Out) ───────────────────────────────── */
#customer_login {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	align-items: start;
	max-width: 960px;
	margin: var(--spacing-lg) auto 0;
}

#customer_login:only-child,
.woocommerce-account form.login:only-child,
.woocommerce-account .u-columns:only-child {
	max-width: 480px;
	margin: var(--spacing-lg) auto 0;
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-account form.login,
.woocommerce-account form.register {
	background-color: #FFFFFF;
	border: 1px solid #ECE7E0;
	border-radius: 20px;
	padding: 38px 32px;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.woocommerce-account form.login h2,
.woocommerce-account form.register h2,
.woocommerce-account .u-column1 h2,
.woocommerce-account .u-column2 h2 {
	font-family: var(--font-heading);
	font-size: 1.75rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.2;
	color: var(--color-primary);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	margin: 0 0 var(--spacing-md);
	padding-bottom: var(--spacing-xs);
	border-bottom: 1px solid #ECE7E0;
}

.woocommerce-account .form-row {
	display: flex;
	flex-direction: column;
	margin: 0 0 4px;
	padding: 0;
	width: 100%;
}

.woocommerce-account .form-row label {
	font-family: var(--font-primary);
	font-size: 0.78rem;
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #4A453C;
	margin-bottom: 6px;
}

.woocommerce-account .form-row label .required {
	color: var(--color-primary);
}

.woocommerce-account .form-row input.input-text,
.woocommerce-account .form-row input.woocommerce-Input {
	width: 100% !important;
	box-sizing: border-box !important;
	border: 1.5px solid #E5DFD7 !important;
	border-radius: 12px !important;
	padding: 13px 18px !important;
	font-family: var(--font-primary) !important;
	font-size: 0.92rem !important;
	color: #5E5950 !important;
	background-color: #FFFFFF !important;
	outline: none !important;
	transition: border-color var(--transition-base), box-shadow var(--transition-base) !important;
	height: 48px !important;
}

.woocommerce-account .form-row input.input-text:focus,
.woocommerce-account .form-row input.woocommerce-Input:focus {
	border-color: var(--color-primary) !important;
	box-shadow: 0 0 0 3px rgba(193, 169, 129, 0.15) !important;
}

.woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-primary);
	font-size: 0.84rem;
	color: #6E685E;
	cursor: pointer;
	margin: 6px 0 0;
}

.woocommerce-account .lost_password {
	text-align: center;
	margin-top: 10px;
}

.woocommerce-account .lost_password a {
	color: var(--color-primary);
	font-size: 0.84rem;
	text-decoration: underline;
	transition: color var(--transition-base);
}

.woocommerce-account .lost_password a:hover {
	color: var(--color-primary-dark);
}

.woocommerce-account button.button[name="login"],
.woocommerce-account button.button[name="register"],
.woocommerce-account button.button[name="save_account_details"],
.woocommerce-account button.button[name="save_address"] {
	display: block !important;
	width: 100% !important;
	padding: 15px 34px !important;
	background-color: var(--color-primary) !important;
	color: #FFFFFF !important;
	border: 1.5px solid var(--color-primary) !important;
	border-radius: 50px !important;
	font-family: var(--font-primary) !important;
	font-size: 0.82rem !important;
	font-weight: var(--font-weight-semibold) !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	text-align: center !important;
	cursor: pointer !important;
	transition: all var(--transition-base) !important;
	box-shadow: 0 4px 16px rgba(193, 169, 129, 0.25) !important;
	margin-top: 8px !important;
}

.woocommerce-account button.button:hover {
	background-color: var(--color-primary-dark) !important;
	border-color: var(--color-primary-dark) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 24px rgba(193, 169, 129, 0.35) !important;
}

/* ── Logged In Dashboard Layout (2 Columns Flex) ───────────────────────── */
.woocommerce-account .woocommerce {
	display: flex !important;
	flex-direction: row !important;
	gap: 32px !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	margin-top: var(--spacing-md) !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* Left Sidebar Menu */
.woocommerce-account .woocommerce-MyAccount-navigation {
	flex: 0 0 260px !important;
	width: 260px !important;
	max-width: 260px !important;
	float: none !important;
	clear: none !important;
	margin: 0 !important;
	background-color: #FAF8F5;
	border: 1.5px solid #EBE6DF;
	border-radius: 18px;
	padding: 20px 16px;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.03);
	position: sticky;
	top: 100px;
	box-sizing: border-box !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

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

.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: flex !important;
	align-items: center !important;
	padding: 12px 18px !important;
	border-radius: 10px !important;
	font-family: var(--font-primary) !important;
	font-size: 0.84rem !important;
	font-weight: var(--font-weight-medium) !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: #6E685E !important;
	text-decoration: none !important;
	transition: all var(--transition-base) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background-color: rgba(193, 169, 129, 0.12) !important;
	color: var(--color-primary-dark) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background-color: var(--color-primary) !important;
	color: #FFFFFF !important;
	font-weight: var(--font-weight-semibold) !important;
	box-shadow: 0 4px 12px rgba(193, 169, 129, 0.3) !important;
}

/* Right Content Area */
.woocommerce-account .woocommerce-MyAccount-content {
	flex: 1 1 0% !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: 100% !important;
	float: none !important;
	clear: none !important;
	margin: 0 !important;
	background-color: #FFFFFF !important;
	border: 1px solid #ECE7E0 !important;
	border-radius: 20px !important;
	padding: 36px 32px !important;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04) !important;
	min-height: 400px !important;
	font-family: var(--font-primary) !important;
	font-size: 0.93rem !important;
	line-height: 1.7 !important;
	color: #5E5950 !important;
	box-sizing: border-box !important;
}

/* Remove default WooCommerce notice icons */
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-MyAccount-content .woocommerce-info::before,
.woocommerce-MyAccount-content .woocommerce-message::before,
.woocommerce-MyAccount-content .woocommerce-error::before {
	display: none !important;
	content: none !important;
}

/* Notice box inside content */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
	background-color: #FAF8F5 !important;
	border: 1.5px solid #EBE6DF !important;
	border-left: 4px solid var(--color-primary) !important;
	border-radius: 14px !important;
	padding: 16px 22px !important;
	font-family: var(--font-primary) !important;
	font-size: 0.9rem !important;
	color: #5E5950 !important;
	margin-bottom: var(--spacing-lg) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: 14px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button {
	padding: 9px 20px !important;
	border-radius: 50px !important;
	font-size: 0.76rem !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	background-color: var(--color-primary) !important;
	color: #FFFFFF !important;
	border: none !important;
	margin: 0 !important;
	float: none !important;
	display: inline-block !important;
	text-decoration: none !important;
	transition: all var(--transition-base) !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button:hover {
	background-color: var(--color-primary-dark) !important;
	transform: translateY(-1px) !important;
}

.woocommerce-MyAccount-content p {
	margin-bottom: var(--spacing-md);
}

.woocommerce-MyAccount-content p a {
	color: var(--color-primary);
	font-weight: var(--font-weight-semibold);
	text-decoration: underline;
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
	font-family: var(--font-heading);
	font-size: 1.6rem;
	color: var(--color-primary);
	text-transform: uppercase;
	margin: var(--spacing-md) 0 var(--spacing-md);
	padding-bottom: var(--spacing-xs);
	border-bottom: 1px solid #ECE7E0;
}

/* Orders Table */
.woocommerce-orders-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: var(--spacing-md);
}

.woocommerce-orders-table th,
.woocommerce-orders-table td {
	padding: 12px 14px;
	border-bottom: 1px solid #ECE7E0;
	font-size: 0.88rem;
}

.woocommerce-orders-table th {
	font-size: 0.76rem;
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #8A847B;
}

.woocommerce-orders-table__cell-order-status {
	display: inline-block;
	padding: 3px 12px;
	border-radius: 50px;
	font-size: 0.72rem;
	font-weight: var(--font-weight-semibold);
	text-transform: uppercase;
	background: #FAF8F5;
	color: var(--color-primary-dark);
	border: 1px solid #EBE6DF;
}

.woocommerce-orders-table__cell-order-actions .button {
	padding: 8px 18px !important;
	border-radius: 50px !important;
	font-size: 0.72rem !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
}

/* ── Addresses Section (Spacious & Clean Cards) ───────────────────────── */
.woocommerce-account .woocommerce-Addresses,
.woocommerce-account .addresses {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 24px !important;
	margin-top: var(--spacing-lg) !important;
	width: 100% !important;
	float: none !important;
}

.woocommerce-account .woocommerce-Addresses .col-1,
.woocommerce-account .woocommerce-Addresses .col-2,
.woocommerce-account .woocommerce-Addresses .u-column1,
.woocommerce-account .woocommerce-Addresses .u-column2,
.woocommerce-account .woocommerce-Address {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	background-color: #FAF8F5 !important;
	border: 1.5px solid #EBE6DF !important;
	border-radius: 18px !important;
	padding: 28px 24px !important;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03) !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
}

.woocommerce-account .woocommerce-Address-title.title,
.woocommerce-account .woocommerce-Address .title {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin: 0 0 16px 0 !important;
	padding-bottom: 12px !important;
	border-bottom: 1px solid #ECE7E0 !important;
	float: none !important;
	width: 100% !important;
}

.woocommerce-account .woocommerce-Address-title h3,
.woocommerce-account .woocommerce-Address h3 {
	font-family: var(--font-heading) !important;
	font-size: 1.35rem !important;
	font-weight: var(--font-weight-bold) !important;
	color: var(--color-primary) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	text-transform: uppercase !important;
	letter-spacing: 0.02em !important;
	float: none !important;
}

.woocommerce-account .woocommerce-Address-title .edit,
.woocommerce-account .woocommerce-Address .edit {
	display: inline-block !important;
	padding: 6px 16px !important;
	border-radius: 50px !important;
	background-color: var(--color-primary) !important;
	color: #FFFFFF !important;
	font-family: var(--font-primary) !important;
	font-size: 0.72rem !important;
	font-weight: var(--font-weight-semibold) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	text-decoration: none !important;
	transition: all var(--transition-base) !important;
	float: none !important;
	margin: 0 !important;
}

.woocommerce-account .woocommerce-Address-title .edit:hover,
.woocommerce-account .woocommerce-Address .edit:hover {
	background-color: var(--color-primary-dark) !important;
	transform: translateY(-1px) !important;
}

.woocommerce-account .woocommerce-Address address {
	font-style: normal !important;
	font-family: var(--font-primary) !important;
	font-size: 0.92rem !important;
	line-height: 1.7 !important;
	color: #5E5950 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Edit Address Form */
.woocommerce-account form.edit-account,
.woocommerce-account form.woocommerce-EditAddressForm {
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
	width: 100% !important;
}

.woocommerce-account form.woocommerce-EditAddressForm .woocommerce-address-fields__field-wrapper {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 16px 20px !important;
	width: 100% !important;
}

.woocommerce-account form.woocommerce-EditAddressForm .form-row {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-account form.woocommerce-EditAddressForm #shipping_first_name_field,
.woocommerce-account form.woocommerce-EditAddressForm #billing_first_name_field {
	grid-column: 1 !important;
}

.woocommerce-account form.woocommerce-EditAddressForm #shipping_last_name_field,
.woocommerce-account form.woocommerce-EditAddressForm #billing_last_name_field {
	grid-column: 2 !important;
}

.woocommerce-account form.woocommerce-EditAddressForm .form-row-wide,
.woocommerce-account form.woocommerce-EditAddressForm #billing_country_field,
.woocommerce-account form.woocommerce-EditAddressForm #shipping_country_field,
.woocommerce-account form.woocommerce-EditAddressForm #billing_address_1_field,
.woocommerce-account form.woocommerce-EditAddressForm #shipping_address_1_field,
.woocommerce-account form.woocommerce-EditAddressForm #billing_address_2_field,
.woocommerce-account form.woocommerce-EditAddressForm #shipping_address_2_field {
	grid-column: 1 / -1 !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   WooCommerce Mobile Responsive
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
	.woocommerce div.product {
		grid-template-columns: 1fr;
		gap: var(--spacing-xl);
	}

	.related-courses__grid {
		grid-template-columns: 1fr;
		gap: var(--spacing-lg);
	}

	.woocommerce div.product form.cart .button,
	.woocommerce div.product form.cart .single_add_to_cart_button {
		max-width: 100% !important;
	}

	.lm-variation-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	form.checkout.woocommerce-checkout {
		grid-template-columns: 1fr;
		gap: var(--spacing-xl);
	}

	#customer_details {
		padding: 24px 20px;
	}

	.woocommerce-billing-fields__field-wrapper {
		grid-template-columns: 1fr;
	}

	#order_review {
		position: static;
		padding: 24px 20px;
	}

	ul.woocommerce-thankyou-order-details {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}

	ul.woocommerce-thankyou-order-details li:nth-child(2) {
		border-right: none;
	}

	#customer_login {
		grid-template-columns: 1fr;
		gap: var(--spacing-xl);
	}

	.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
		gap: var(--spacing-xl);
	}

	.woocommerce-MyAccount-navigation {
		position: static;
	}

	.woocommerce-Addresses {
		grid-template-columns: 1fr;
	}
}

