/* Premium Checkout Widget Styles */

/* Outer container: column flex — stepper header on top, columns row below */
.kc-checkout-container {
	display: flex !important;
	flex-direction: column !important;
	margin: 40px auto 80px !important;
	padding: 40px 56px !important;
	border-radius: 8px !important;
	gap: 0 !important;
}

/* Stepper header — full width, above both columns */
.kc-stepper-header {
	flex: 0 0 auto !important;
	width: 100% !important;
	padding-bottom: 20px !important;
	border-bottom: 1px solid #eee !important;
	margin-bottom: 36px !important;
}

/* Columns row — summary left + form right */
.kc-checkout-columns {
	display: flex !important;
	flex-direction: row !important;
	flex: 1 1 auto !important;
	align-items: stretch !important;
}

/* Left Column: Summary Card */
.kc-checkout-summary-column {
	flex: 0 0 620px !important;
	position: sticky !important;
	top: 40px !important;
	padding: 30px !important;
	background-color: #f3f3f3 !important;
}

.kc-checkout-summary-card {
	background: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	border: 0 !important;
}

.kc-checkout-detail {
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

.kc-summary-single .kc-checkout-header-logo,
.kc-summary-multi.kc-show-detail .kc-checkout-header-logo {
	display: none !important;
}

.kc-summary-multi .kc-checkout-detail {
	display: none !important;
}

.kc-summary-multi.kc-show-detail .kc-checkout-detail {
	display: block !important;
}

.kc-summary-multi.kc-show-detail .kc-checkout-cart-summary {
	display: none !important;
}

.kc-checkout-detail-back {
	background: transparent !important;
	border: none !important;
	color: #0b1e4a !important;
	font-weight: 800 !important;
	font-size: 0.8rem !important;
	cursor: pointer !important;
	padding: 0 !important;
	margin-bottom: 12px !important;
}

.kc-checkout-fallback-logo {
	color: #1a1a2e !important;
	font-weight: 900 !important;
	margin: 0 0 40px !important;
}

.kc-checkout-header-logo img {
	max-width: 240px !important;
	margin-bottom: 36px !important;
}

.kc-checkout-product-info {
	display: flex !important;
	gap: 16px !important;
	margin-bottom: 16px !important;
	align-items: flex-start !important;
}

.kc-checkout-product-img {
	width: 72px !important;
	height: 72px !important;
	object-fit: cover !important;
	border-radius: 10px !important;
}

.kc-checkout-product-title {
	font-size: 1.15rem !important;
	font-weight: 800 !important;
	color: #0b1e4a !important;
	line-height: 1.2 !important;
}

.kc-checkout-product-description {
	font-size: 0.85rem !important;
	color: #4a4a4a !important;
	margin-top: 16px !important;
	margin-bottom: 24px !important;
	line-height: 1.5 !important;
}

.kc-checkout-product-description p {
	margin-bottom: 12px !important;
}

.kc-checkout-product-description ul,
.kc-checkout-step3-includes ul {
	list-style: none !important;
	padding-left: 0 !important;
	margin: 12px 0 !important;
}

.kc-checkout-product-description ul li,
.kc-checkout-step3-includes ul li {
	position: relative !important;
	padding-left: 26px !important;
	margin-bottom: 8px !important;
	font-weight: 600 !important;
	color: #1a1a2e !important;
	text-align: left !important;
}

.kc-checkout-product-description ul li::before,
.kc-checkout-step3-includes ul li::before {
	content: '✅' !important;
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	font-size: 0.9em !important;
}

.kc-checkout-accreditation-row {
	display: inline-flex !important;
	align-items: center !important;
	gap: 12px !important;
	margin: 0 0 26px !important;
	color: #0b1e4a !important;
	font-weight: 600 !important;
	border: 1px solid #f0f0f0 !important;
	background: #ffffff !important;
	padding: 12px 30px !important;
	border-radius: 10px !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
}

.kc-checkout-accred-text {
	font-size: 0.7rem !important;
	letter-spacing: 0.2px !important;
}

.kc-checkout-accred-logo {
	max-height: 32px !important;
	width: auto !important;
	display: block !important;
	transition: transform 0.3s ease !important;
}

.kc-checkout-accreditation-row:hover .kc-checkout-accred-logo {
	transform: scale(1.05) !important;
}

.kc-checkout-total-title {
	font-size: 0.9rem !important;
	font-weight: 800 !important;
	color: #9aa0a6 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	border-top: 1px solid #eee !important;
	padding-top: 10px !important;
}

.kc-checkout-price-block {
	margin-top: 15px !important;
}

.kc-checkout-region-switcher {
	display: none !important;
}

.kc-region-tab {
	padding: 6px 12px !important;
	font-size: 0.8rem !important;
	font-weight: 800 !important;
	cursor: pointer !important;
	background: transparent !important;
	color: #1a1a2e !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
}

.kc-region-tab.active {
	background: #1a1a2e !important;
	color: #fff !important;
}

.kc-checkout-region-badges {
	display: flex !important;
	gap: 12px !important;
	align-items: center !important;
	margin-bottom: 20px !important;
}

.kc-checkout-region-name {
	font-weight: 800 !important;
	color: #0b1e4a !important;
	font-size: 0.9rem !important;
}

.kc-checkout-variant-description {
	font-size: 0.85rem !important;
	color: #555 !important;
	margin-top: 24px !important;
	margin-bottom: 12px !important;
	line-height: 1.6 !important;
	font-weight: 500 !important;
}

.kc-checkout-variant-description p {
	margin: 0 !important;
}

.kc-checkout-savings-badge {
	background: #00b4a0 !important;
	color: white !important;
	padding: 4px 10px !important;
	border-radius: 999px !important;
	font-size: 0.75rem !important;
	font-weight: 800 !important;
}

.kc-checkout-price-old {
	color: #9aa0a6 !important;
	text-decoration: line-through !important;
	font-size: 0.9rem !important;
	font-weight: 700 !important;
}

.kc-checkout-price-main {
	font-size: 2.8rem !important;
	font-weight: 900 !important;
	color: #0b1e4a !important;
	display: block !important;
	margin: 8px 0 12px 0 !important;
}

.kc-checkout-installments {
	font-size: 0.85rem !important;
	color: #0b1e4a !important;
	font-weight: 600 !important;
}

.kc-checkout-gateways-row {
	display: flex !important;
	gap: 8px !important;
	margin-top: 10px !important;
	align-items: center !important;
}

.kc-gateway-pill {
	padding: 4px 9px !important;
	border-radius: 10px !important;
	font-weight: 800 !important;
	font-size: 0.75rem !important;
	letter-spacing: -0.5px !important;
}

.kc-pill-sequra {
	background: #112d6a !important;
	color: white !important;
}

.kc-pill-klarna {
	background: #ffb3c7 !important;
	color: #1a1a2e !important;
}

.kc-gateway-info {
	font-size: 0.8rem !important;
	color: #0b1e4a !important;
	font-weight: 800 !important;
	cursor: pointer !important;
}

.kc-checkout-cart-summary {
	margin: 15px auto !important;
	border-top: 1px solid #eee !important;
	padding-top: 18px !important;
}

.kc-checkout-cart-title {
	font-size: 0.95rem !important;
	font-weight: 900 !important;
	color: #0b1e4a !important;
	margin-bottom: 12px !important;
}

.kc-checkout-cart-items {
	list-style: none !important;
	list-style-type: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
}

.kc-checkout-cart-items li::marker {
	content: '' !important;
}

.kc-checkout-cart-item {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	padding: 12px 14px !important;
	border: 1px solid #ededed !important;
	border-radius: 16px !important;
	background: #fff !important;
	cursor: pointer !important;
}

.kc-checkout-cart-item-left {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	min-width: 0 !important;
}

.kc-checkout-cart-item-left img {
	display: block !important;
}

.kc-checkout-cart-item-img {
	width: 40px !important;
	height: 40px !important;
	max-width: 40px !important;
	max-height: 40px !important;
	border-radius: 8px !important;
	object-fit: cover !important;
	flex: 0 0 40px !important;
}

.kc-checkout-cart-item-meta {
	min-width: 0 !important;
}

.kc-checkout-cart-item-name {
	font-weight: 900 !important;
	color: #0b1e4a !important;
	line-height: 1.3 !important;
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: clip !important;
	max-width: 100% !important;
	font-size: 0.9rem !important;
}

.kc-checkout-cart-item-sub {
	color: #7c7c7c !important;
	font-weight: 700 !important;
	font-size: 0.8rem !important;
	margin-top: 4px !important;
}

.kc-checkout-cart-item-right {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 6px !important;
}

.kc-checkout-cart-item-price {
	font-weight: 900 !important;
	color: #0b1e4a !important;
	font-size: 0.9rem !important;
}

.kc-checkout-cart-item-remove {
	color: #b42318 !important;
	font-weight: 900 !important;
	text-decoration: none !important;
	font-size: 0.8rem !important;
}

.kc-checkout-cart-item-remove:hover {
	text-decoration: underline !important;
}

/* Right Column: Stepper Form */
.kc-checkout-form-column {
	flex: 1 !important;
	display: flex !important;
	justify-content: flex-start !important;
	box-shadow: -6px 0px 1px rgb(74 70 70 / 1%) !important;
	padding: 0px 5% !important;
	z-index: 1 !important;
}

.kc-checkout-form-column .woocommerce {
	max-width: 760px !important;
	background: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

.kc-checkout-form-column .woocommerce form.checkout,
.kc-checkout-form-column .woocommerce form.checkout .form-row {
	margin: 0 !important;
}

.kc-checkout-form-column .woocommerce form.checkout .form-row {
	margin-bottom: 16px !important;
}

.kc-checkout-form-column .woocommerce form.checkout label {
	font-weight: 700 !important;
	color: #1a1a2e !important;
	font-size: 0.75rem !important;
}

.kc-checkout-form-column .woocommerce form.checkout input.input-text,
.kc-checkout-form-column .woocommerce form.checkout textarea,
.kc-checkout-form-column .woocommerce form.checkout select {
	width: 100% !important;
	padding: 6px 14px !important;
	border: 1px solid #e0e0e0 !important;
	background: #fcfcfc !important;
	border-radius: 12px !important;
	font-size: 0.95rem !important;
	color: #1a1a2e !important;
	outline: none !important;
	transition: all 0.2s ease !important;
}

.kc-checkout-form-column .woocommerce form.checkout input.input-text:focus,
.kc-checkout-form-column .woocommerce form.checkout textarea:focus,
.kc-checkout-form-column .woocommerce form.checkout select:focus {
	border-color: #00b4a0 !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 4px rgba(0, 180, 160, 0.05) !important;
}

/* Select2 — WooCommerce replaces native <select> with Select2 widgets */
.kc-checkout-form-column .select2-container--default .select2-selection--single {
	height: 44px !important;
	border: 1px solid #e0e0e0 !important;
	border-radius: 8px !important;
	background: #fcfcfc !important;
	outline: none !important;
	padding: 8px !important;
}

.kc-checkout-form-column .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0 14px !important;
	color: #1a1a2e !important;
	font-size: 0.95rem !important;
	line-height: 28px !important;
}

.kc-checkout-form-column .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 44px !important;
	right: 10px !important;
}

.kc-checkout-form-column .select2-container--default.select2-container--focus .select2-selection--single,
.kc-checkout-form-column .select2-container--default.select2-container--open .select2-selection--single {
	border-color: #00b4a0 !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 3px rgba(0, 180, 160, 0.12) !important;
	padding: 8px !important;
}

.kc-checkout-form-column .woocommerce #place_order {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background-color: var(--kc-accent, #00b4a0) !important;
	color: #ffffff !important;
	padding: 16px 20px !important;
	border-radius: 12px !important;
	font-size: 1.1rem !important;
	font-weight: 900 !important;
	border: none !important;
	cursor: pointer !important;
	width: 100% !important;
	transition: all 0.2s ease !important;
}

.kc-checkout-form-column .woocommerce #place_order:hover {
	filter: brightness(0.95) !important;
	transform: translateY(-1px) !important;
}

.kc-stepper {
	display: flex !important;
	justify-content: flex-start !important;
	gap: 32px !important;
	margin-bottom: 0 !important;
	border-bottom: none !important;
	padding-bottom: 0 !important;
}

.kc-step {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	color: #bcbcbc !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.5px !important;
	position: relative !important;
}

.kc-step.active {
	color: #1a1a2e !important;
}

.kc-step.active::after {
	content: '' !important;
	position: absolute !important;
	bottom: -21px !important;
	left: 0 !important;
	width: 100% !important;
	height: 3px !important;
	background: var(--kc-accent, #00b4a0) !important;
	border-radius: 2px 2px 0 0 !important;
}

.kc-step-num {
	width: 22px !important;
	height: 22px !important;
	background: #eee !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 0.7rem !important;
	color: #777 !important;
}

.kc-step.active .kc-step-num {
	background: #00b4a0 !important;
	color: white !important;
}

/* Form Styles */
.kc-checkout-step-content {
	position: absolute !important;
	left: -9999px !important;
	top: -9999px !important;
	visibility: hidden !important;
	width: 100% !important;
	opacity: 0 !important;
	pointer-events: none !important;
	animation: fadeIn 0.4s ease !important;
}

.kc-checkout-step-content.active {
	position: relative !important;
	left: 0 !important;
	top: 0 !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	display: block !important;
}

.kc-checkout-nav-row {
	display: flex !important;
	gap: 14px !important;
	justify-content: flex-start !important;
	align-items: center !important;
	margin-top: 26px !important;
	margin-bottom: 18px !important;
}

.kc-checkout-next-btn,
.kc-checkout-prev-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 14px 18px !important;
	border-radius: 12px !important;
	font-weight: 900 !important;
	border: 1px solid transparent !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}

.kc-checkout-next-btn {
	background-color: var(--kc-accent, #00b4a0) !important;
	color: #fff !important;
	min-width: 200px !important;
	border-radius: 999px !important;
}

.kc-checkout-next-btn:hover {
	filter: brightness(0.95) !important;
	transform: translateY(-1px) !important;
}

.kc-checkout-prev-btn {
	background: #fff !important;
	color: #1a1a2e !important;
	border-color: #e6e6e6 !important;
	border-radius: 999px !important;
}

.kc-checkout-prev-btn:hover {
	background: #f7f7f7 !important;
}

/* Step 1 — combined form, button full width at the bottom */
.kc-checkout-step-content[data-step="1"] .kc-checkout-next-btn {
	display: block !important;
	width: 100% !important;
	margin: 24px 0 0 !important;
}

/* Section title that separates email from billing fields */
.kc-section-title-billing {
	margin-top: 18px !important;
	padding-top: 14px !important;
	border-top: 1px solid #efefef !important;
}

.kc-checkout-user-note {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	margin: 8px 0 0 !important;
	font-size: 0.85rem !important;
	color: #42506a !important;
	font-weight: 600 !important;
}

.kc-checkout-user-note-warning {
	color: #b42318 !important;
}

.kc-checkout-logout-link {
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	color: #9aa0a6 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
	white-space: nowrap !important;
	transition: color 0.15s ease !important;
}

.kc-checkout-logout-link:hover {
	color: #b42318 !important;
}

.kc-order-review-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	margin-bottom: 24px !important;
}

.kc-order-review-item {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	padding: 12px 14px !important;
	border: 1px solid #ededed !important;
	border-radius: 16px !important;
	background: #fff !important;
}

.kc-order-review-left {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	min-width: 0 !important;
}

.kc-order-review-img {
	width: 40px !important;
	height: 40px !important;
	border-radius: 8px !important;
	object-fit: cover !important;
}

.kc-order-review-meta {
	min-width: 0 !important;
}

.kc-order-review-title {
	font-weight: 900 !important;
	color: #0b1e4a !important;
	line-height: 1.3 !important;
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: clip !important;
	max-width: 100% !important;
	font-size: 0.9rem !important;
}

.kc-order-review-sub {
	color: #7c7c7c !important;
	font-weight: 700 !important;
	font-size: 0.8rem !important;
	margin-top: 4px !important;
}

.kc-order-review-price {
	font-weight: 900 !important;
	color: #0b1e4a !important;
	font-size: 0.9rem !important;
}

.kc-order-review-totals {
	margin-top: 8px !important;
	border-top: 1px solid #e6e6e6 !important;
	padding-top: 12px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

.kc-order-review-total-row {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	font-weight: 700 !important;
	color: #0b1e4a !important;
	font-size: 0.9rem !important;
}

.kc-order-review-total-main {
	font-weight: 900 !important;
	font-size: 1rem !important;
}

.kc-checkout-step3-includes {
	margin-top: 24px !important;
	padding-top: 20px !important;
	border-top: 1px dashed #e6e6e6 !important;
	font-size: 0.9rem !important;
	color: #1a1a2e !important;
}

.kc-checkout-includes-block {
	margin-bottom: 15px !important;
}

.woocommerce-checkout-review-order-table {
	display: none !important;
}

/* --- PAYMENT METHODS OVERRIDES (Astra/Generic) --- */
.kc-checkout-container #order_review,
.kc-checkout-container .woocommerce-checkout-review-order {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
}

.kc-checkout-container #order_review_heading {
	display: none !important;
}

.kc-checkout-container #payment {
	background: #ffffff !important;
	border: 1px solid #ededed !important;
	border-radius: 20px !important;
	padding: 10px !important;
	margin-top: 10px !important;
}

.kc-checkout-container #payment ul.payment_methods {
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
}

.kc-checkout-container #payment ul.payment_methods li {
	list-style: none !important;
	padding: 10px !important;
	border: 1px solid #f3f4f6 !important;
	border-radius: 12px !important;
	background: #fdfdfd !important;
	transition: all 0.2s ease !important;
}

.kc-checkout-container #payment ul.payment_methods li:hover {
	border-color: #00b4a0 !important;
}

.kc-checkout-container #payment ul.payment_methods li input[type=radio] {
	margin-right: 15px !important;
	width: 18px !important;
	height: 18px !important;
	accent-color: #00b4a0 !important;
}

.kc-checkout-container #payment ul.payment_methods li label {
	font-weight: 800 !important;
	color: #0b1e4a !important;
	cursor: pointer !important;
	width: 89% !important;
}

.kc-checkout-container #payment div.payment_box {
	background: #f9fafb !important;
	border-radius: 8px !important;
	padding: 15px !important;
	margin: 15px 0 0 !important;
	font-size: 0.9rem !important;
	color: #4b5563 !important;
	border: 1px solid #eeeeee !important;
	width: 100% !important;
}

.kc-checkout-container #payment #place_order {
	background-color: var(--kc-accent, #00b4a0) !important;
	color: #ffffff !important;
	width: 100% !important;
	padding: 20px 30px !important;
	border-radius: 999px !important;
	font-size: 1rem !important;
	font-weight: 950 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	border: none !important;
	cursor: pointer !important;
	margin-top: 20px !important;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
	box-shadow: 0 4px 14px 0 rgba(0, 180, 160, 0.39) !important;
}

.kc-checkout-container #payment #place_order:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 20px rgba(0, 180, 160, 0.23) !important;
}

.kc-checkout-container #payment .woocommerce-privacy-policy-text {
	font-size: 0.85rem !important;
	color: #6b7280 !important;
	margin: 20px 0 !important;
	line-height: 1.5 !important;
}


@keyframes fadeIn {
	from {
		opacity: 0 !important;
		transform: translateY(10px) !important;
	}

	to {
		opacity: 1 !important;
		transform: translateY(0) !important;
	}
}

.kc-checkout-form-group {
	margin-bottom: 25px !important;
}

.kc-checkout-label {
	display: block !important;
	font-size: 1.1rem !important;
	font-weight: 800 !important;
	color: #1a1a2e !important;
	margin-bottom: 12px !important;
}

.kc-checkout-input {
	width: 100% !important;
	padding: 18px 25px !important;
	border: 1px solid #e0e0e0 !important;
	background: #fcfcfc !important;
	border-radius: 12px !important;
	font-size: 1rem !important;
	color: #1a1a2e !important;
	outline: none !important;
	transition: all 0.3s ease !important;
}

.kc-checkout-input:focus {
	border-color: #00b4a0 !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 4px rgba(0, 180, 160, 0.05) !important;
}

.kc-checkout-form-row {
	display: flex !important;
	gap: 20px !important;
	margin-bottom: 20px !important;
}

.kc-checkout-form-row .kc-checkout-form-group {
	flex: 1 !important;
	margin-bottom: 0 !important;
}

.kc-checkout-section-title {
	font-size: 0.9rem !important;
	font-weight: 800 !important;
	color: #1a1a2e !important;
	margin-top: 6px !important;
	margin-bottom: 10px !important;
	display: block !important;
	letter-spacing: 0.2px !important;
}

.kc-checkout-form-column .woocommerce-form-coupon-toggle {
	display: none !important;
}

/* Payment Methods List */
.kc-payment-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
}

.kc-payment-method {
	border: 1px solid #eee !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	transition: all 0.3s ease !important;
}

.kc-payment-method.active {
	border-color: #00b4a0 !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
}

.kc-payment-header {
	padding: 20px !important;
	display: flex !important;
	align-items: center !important;
	gap: 15px !important;
	cursor: pointer !important;
	background: #fff !important;
}

.kc-payment-header input[type="radio"] {
	width: 20px !important;
	height: 20px !important;
	accent-color: #00b4a0 !important;
}

.kc-payment-label {
	flex: 1 !important;
	font-weight: 700 !important;
	color: #1a1a2e !important;
	font-size: 1rem !important;
}

.kc-payment-logos {
	display: flex !important;
	gap: 8px !important;
	align-items: center !important;
}

.kc-payment-logos img {
	height: 20px !important;
}

.kc-payment-content {
	display: none !important;
	padding: 25px !important;
	background: #fcfcfc !important;
	border-top: 1px solid #eee !important;
}

.kc-payment-method.active .kc-payment-content {
	display: block !important;
}

/* Specific Checkout tweaks */
.kc-checkout-price-data .kc-checkout-price-main {
	font-size: 2.8rem !important;
	margin: 2px 0 4px !important;
}

.kc-checkout-next-btn.final {
	background: #00897b !important;
}

/* Field Validation Error Styles */
.kc-invalid input:not([type="checkbox"]),
.kc-invalid select,
.kc-invalid textarea,
.kc-invalid-field {
	border-color: #d94040 !important;
	box-shadow: 0 0 0 1px #d94040 !important;
}

.kc-invalid .kc-checkout-terms-enforcer {
	border-color: #d94040 !important;
	background-color: #fffafaf2 !important;
}

.kc-validation-error-msg {
	animation: fadeInError 0.3s ease-in !important;
}

@keyframes fadeInError {
	from {
		opacity: 0 !important;
		transform: translateY(-5px) !important;
	}

	to {
		opacity: 1 !important;
		transform: translateY(0) !important;
	}
}

/* Responsive */
@media (max-width: 1024px) {
	.kc-checkout-container {
		padding: 32px 24px !important;
	}

	.kc-stepper-header {
		margin-bottom: 24px !important;
	}

	/* Columns go vertical on tablet */
	.kc-checkout-columns {
		flex-direction: column !important;
		gap: 24px !important;
	}

	.kc-checkout-summary-column {
		position: relative !important;
		top: 0 !important;
		flex: none !important;
		width: 100% !important;
		height: auto !important;
		padding: 24px !important;
	}

	.kc-checkout-form-column {
		width: 100% !important;
		padding: 0 !important;
		box-shadow: none !important;
	}
}

@media (max-width: 767px) {
	.kc-checkout-container {
		padding: 16px 12px !important;
		margin: 16px auto 40px !important;
	}

	.kc-stepper-header {
		padding-bottom: 14px !important;
		margin-bottom: 20px !important;
	}

	.kc-checkout-summary-column {
		padding: 16px !important;
	}

	.kc-checkout-price-data .kc-checkout-price-main {
		font-size: 2.2rem !important;
	}

	.kc-checkout-cart-item {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 12px !important;
	}

	.kc-checkout-cart-item-right {
		flex-direction: row !important;
		justify-content: space-between !important;
		align-items: center !important;
		width: 100% !important;
		margin-top: 4px !important;
		padding-top: 10px !important;
		border-top: 1px dashed #eee !important;
	}

	.kc-stepper {
		gap: 10px !important;
		justify-content: space-between !important;
	}

	.kc-step {
		font-size: 0.65rem !important;
		flex-direction: column !important;
		gap: 6px !important;
		text-align: center !important;
	}

	.kc-step.active::after {
		bottom: -10px !important;
		width: 100% !important;
	}

	.kc-checkout-product-info {
		flex-direction: column !important;
		align-items: center !important;
		text-align: center !important;
	}

	.kc-checkout-accreditation-row {
		display: flex !important;
		width: 100% !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		padding: 12px 20px !important;
		margin: 0 auto 24px !important;
		width: fit-content !important;
	}

	.kc-checkout-accred-logo {
		margin-top: 0 !important;
	}
}

/* ── Payment section within the checkout wizard ────────────────────────── */

/* Hide WooCommerce's default "Payment" / "Your order" headings inside our wizard */
.kc-checkout-wizard #order_review>h3,
.kc-checkout-wizard #payment>h3,
.kc-checkout-wizard .woocommerce-checkout-review-order>h3 {
	display: none !important;
}

/* Terms enforcer — appears inside WooCommerce's payment form, before Place Order */
.kc-checkout-terms-enforcer .form-row,
.kc-checkout-commercial-consent .form-row {
	margin: 0 !important;
}

.kc-checkout-terms-enforcer label,
.kc-checkout-commercial-consent label {
	display: flex !important;
	align-items: flex-start !important;
	gap: 8px !important;
	cursor: pointer !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
}

.kc-checkout-terms-enforcer input[type="checkbox"],
.kc-checkout-commercial-consent input[type="checkbox"] {
	margin-top: 3px !important;
	flex-shrink: 0 !important;
}

/* ── Wizard: WooCommerce form fields ───────────────────────────────────── */

/* Labels — green brand color, override Astra */
.kc-checkout-wizard .woocommerce form .form-row label,
.kc-checkout-wizard .woocommerce-billing-fields label,
.kc-checkout-wizard .woocommerce-billing-fields__field-wrapper label,
.kc-checkout-wizard p.form-row label {
	color: #00b4a0 !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	margin-bottom: 4px !important;
	display: block !important;
	pointer-events: auto !important;
	position: static !important;
	opacity: 1 !important;
	height: auto !important;
	clip-path: none !important;
	clip: unset !important;
	user-select: auto !important;
	width: 100% !important;
	line-height: 1 !important;
}


/* Keep checkbox labels normal (not green/block) */
.kc-checkout-wizard .woocommerce form .form-row label.checkbox,
.kc-checkout-wizard label.woocommerce-form__label-for-checkbox {
	color: #1a1a2e !important;
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	display: flex !important;
	align-items: flex-start !important;
	gap: 8px !important;
}

/* form-row layout — normalize Astra grid overrides */
.kc-checkout-wizard p.form-row,
.kc-checkout-wizard .form-row {
	float: none !important;
	width: 100% !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
	clear: both !important;
}

/* Field wrapper — flex grid */
.kc-checkout-wizard .woocommerce-billing-fields__field-wrapper {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px 16px !important;
}

.kc-checkout-wizard .woocommerce-billing-fields__field-wrapper p.form-row {
	margin: 0 0 4px 0 !important;
	flex: 1 1 100% !important;
}

/* 2 columns: form-row-first / form-row-last */
.kc-checkout-wizard .woocommerce-billing-fields__field-wrapper p.form-row-first,
.kc-checkout-wizard .woocommerce-billing-fields__field-wrapper p.form-row-last {
	flex: 1 1 calc(50% - 10px) !important;
	width: calc(50% - 10px) !important;
}

/* State / Country — two columns (handled by form-row-first / form-row-last from PHP) */

/* Labels — compact */
.kc-checkout-wizard .woocommerce form .form-row label {
	margin-bottom: 3px !important;
	font-size: 0.72rem !important;
}


/* form-row-full / form-row-wide — always full width */
.kc-checkout-wizard .form-row-full,
.kc-checkout-wizard .woocommerce-billing-fields__field-wrapper p.form-row-wide {
	flex: 1 1 100% !important;
	width: 100% !important;
}

/* Inputs & selects */
.kc-checkout-wizard .woocommerce-input-wrapper {
	display: block !important;
	width: 100% !important;
}

.kc-checkout-wizard .woocommerce-input-wrapper input,
.kc-checkout-wizard .woocommerce-input-wrapper select,
.kc-checkout-wizard .woocommerce-input-wrapper textarea {
	width: 100% !important;
	box-sizing: border-box !important;
}

/* select2 hidden element — don't affect layout */
.kc-checkout-wizard .select2-hidden-accessible {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
}

/* ── Payment "Payment" heading — hide inside wizard ─────────────────────── */
.kc-checkout-wizard #payment>h3,
.kc-checkout-wizard #payment>.wc_payment_methods+h3,
.kc-checkout-wizard .woocommerce-checkout-review-order-table+h3 {
	display: none !important;
}

/* Force payment section visible inside our wizard — override any Astra mobile hiding */
.kc-checkout-wizard .kc-checkout-step-content.active #order_review,
.kc-checkout-wizard .kc-checkout-step-content.active #payment,
.kc-checkout-container #order_review,
.kc-checkout-container #payment {
	display: block !important;
	visibility: visible !important;
}

/* Hide Astra's mobile order review wrap on desktop (we have our own summary column) */
@media (min-width: 768px) {
	.kc-checkout-container .ast-mobile-order-review-wrap {
		display: none !important;
	}
}

/* ── Mobile Summary Toggle (Widget Specific) ────────────────────────── */
.kc-mobile-summary-toggle {
	display: none !important;
	background: #f7f7f7 !important;
	border-bottom: 1px solid #eee !important;
	padding: 16px 24px !important;
	cursor: pointer !important;
	justify-content: space-between !important;
	align-items: center !important;
	position: sticky !important;
	top: 0 !important;
	z-index: 100 !important;
}

@media (max-width: 1024px) {
	.kc-mobile-summary-toggle {
		display: flex !important;
	}

	.kc-checkout-summary-column {
		display: none !important;
		padding: 24px !important;
		background: #fdfdfd !important;
		border-bottom: 1px solid #eee !important;
	}

	.kc-summary-open-mobile .kc-checkout-summary-column {
		display: block !important;
		animation: kcSlideDown 0.3s ease forwards !important;
	}

	.kc-summary-open-mobile .kc-summary-toggle-icon svg {
		transform: rotate(180deg) !important;
	}
}

.kc-summary-toggle-left {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	color: #0b1e4a !important;
}

.kc-summary-toggle-text {
	font-weight: 800 !important;
	font-size: 0.95rem !important;
}

.kc-summary-toggle-icon svg {
	transition: transform 0.3s ease !important;
}

.kc-summary-toggle-price {
	font-weight: 900 !important;
	color: var(--kc-accent, #00b4a0) !important;
	font-size: 1rem !important;
}

@keyframes kcSlideDown {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Hide fallback Astra styles that were copy-pasted */
.ast-mobile-order-review-wrap,
#ast-order-review-toggle {
	display: none !important;
}

/* ── Hide native WooCommerce terms inside #payment (we render our own above) ─ */
.kc-checkout-wizard #payment .wc-terms-and-conditions,
.kc-checkout-wizard #payment .woocommerce-terms-and-conditions-wrapper,
.kc-checkout-wizard #payment>.woocommerce-terms-and-conditions-wrapper {
	display: none !important;
}

/* ── Terms enforcer — ensure visibility ─────────────────────────────────── */
.kc-checkout-wizard .kc-checkout-terms-enforcer,
.kc-checkout-wizard .kc-checkout-commercial-consent,
#payment .kc-checkout-terms-enforcer {
	display: block !important;
	margin: 16px 0 !important;
	padding: 14px 16px !important;
	background: #f9f9f9 !important;
	border-radius: 8px !important;
	border: 1px solid #e0e0e0 !important;
}

.kc-checkout-wizard .kc-checkout-terms-enforcer .form-row {
	margin: 0 !important;
	float: none !important;
	width: 100% !important;
}

/* ── Premium Inputs, Selects & Radio / Checkbox ────────────────────────── */

/* Normalize text inputs and textareas */
.kc-checkout-wizard .woocommerce form .form-row input.input-text,
.kc-checkout-wizard .woocommerce form .form-row textarea,
.kc-checkout-wizard .woocommerce form .form-row select {
	height: 44px !important;
	padding: 0 14px !important;
	border: 1px solid #e0e0e0 !important;
	background: #fcfcfc !important;
	border-radius: 8px !important;
	font-size: 0.95rem !important;
	color: #1a1a2e !important;
	transition: all 0.2s ease !important;
	box-shadow: none !important;
	width: 100% !important;
}

/* Textarea height exception */
.kc-checkout-wizard .woocommerce form .form-row textarea {
	height: 120px !important;
	padding: 12px 16px !important;
	resize: vertical !important;
}

/* Focus states */
.kc-checkout-wizard .woocommerce form .form-row input.input-text:focus,
.kc-checkout-wizard .woocommerce form .form-row textarea:focus,
.kc-checkout-wizard .woocommerce form .form-row select:focus {
	border-color: #00b4a0 !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 3px rgba(0, 180, 160, 0.15) !important;
	outline: none !important;
}

/* Override default WooCommerce green validation */
.woocommerce form .form-row.woocommerce-validated .select2-container,
.woocommerce form .form-row.woocommerce-validated input.input-text,
.woocommerce form .form-row.woocommerce-validated select {
	border-color: #00b4a0 !important;
}

/* Select2 Global Dropdown (Appended to body) */
.select2-dropdown {
	border: 1px solid #00b4a0 !important;
	border-radius: 8px !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
	padding: 6px !important;
	overflow: hidden !important;
}

.select2-container--default .select2-results__option {
	padding: 10px 14px !important;
	font-size: 0.95rem !important;
	color: #1a1a2e !important;
	border-radius: 6px !important;
	transition: background-color 0.15s ease !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background-color: #00b4a0 !important;
	color: #ffffff !important;
}

.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[data-selected="true"] {
	background-color: #e6f7f5 !important;
	color: #00b4a0 !important;
	font-weight: 700 !important;
}

.select2-search--dropdown .select2-search__field {
	border: 1px solid #e0e0e0 !important;
	border-radius: 6px !important;
	padding: 8px 12px !important;
	height: 38px !important;
}

.select2-search--dropdown .select2-search__field:focus {
	border-color: #00b4a0 !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(0, 180, 160, 0.15) !important;
}

/* Premium Checkbox & Radio native override */
.kc-checkout-wizard input[type="radio"],
.kc-checkout-wizard input[type="checkbox"] {
	appearance: none !important;
	-webkit-appearance: none !important;
	width: 20px !important;
	height: 20px !important;
	border: 2px solid #cbd5e1 !important;
	background-color: #ffffff !important;
	margin: 0 !important;
	cursor: pointer !important;
	position: relative !important;
	transition: all 0.2s ease !important;
	flex-shrink: 0 !important;
	vertical-align: middle !important;
}

.kc-checkout-wizard input[type="radio"] {
	border-radius: 50% !important;
}

.kc-checkout-wizard input[type="checkbox"] {
	border-radius: 6px !important;
}

.kc-checkout-wizard input[type="radio"]:checked,
.kc-checkout-wizard input[type="checkbox"]:checked {
	border-color: #00b4a0 !important;
	background-color: #00b4a0 !important;
}

.kc-checkout-wizard input[type="radio"]:after {
	content: '' !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) scale(0) !important;
	width: 8px !important;
	height: 8px !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.kc-checkout-wizard input[type="radio"]:checked:after {
	transform: translate(-50%, -50%) scale(1) !important;
}

.kc-checkout-wizard input[type="checkbox"]:after {
	content: '' !important;
	position: absolute !important;
	top: 40% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) scale(0) rotate(45deg) !important;
	width: 5px !important;
	height: 10px !important;
	border-right: 2px solid #ffffff !important;
	border-bottom: 2px solid #ffffff !important;
	transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.kc-checkout-wizard input[type="checkbox"]:checked:after {
	transform: translate(-50%, -50%) scale(1) rotate(45deg) !important;
}

/* ── Order Received (Thank You Page) Premium Look ─────────────────────── */

.woocommerce-order {
	max-width: 900px !important;
	margin: 40px auto !important;
	padding: 40px !important;
	background: #ffffff !important;
	border-radius: 16px !important;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05) !important;
	font-family: inherit !important;
}

.woocommerce-notice--success {
	background: #e6f7f5 !important;
	color: #00b4a0 !important;
	padding: 24px !important;
	border-radius: 12px !important;
	font-weight: 700 !important;
	text-align: center !important;
	margin-bottom: 30px !important;
	border: 1px solid rgba(0, 180, 160, 0.2) !important;
}

/* Premium Alerts (Error, Cancelation, Info) */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
	padding: 16px 24px !important;
	border-radius: 12px !important;
	font-weight: 600 !important;
	font-size: 0.95rem !important;
	margin-bottom: 30px !important;
	list-style: none !important;
	display: block !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
	border-left: 4px solid transparent !important;
}

.woocommerce-error {
	background: #fff5f5 !important;
	color: #d94040 !important;
	border: 1px solid rgba(217, 64, 64, 0.2) !important;
	border-left-color: #d94040 !important;
}

.woocommerce-info {
	background: #f0f8ff !important;
	color: #007cba !important;
	border: 1px solid rgba(0, 124, 186, 0.2) !important;
	border-left-color: #007cba !important;
}

.woocommerce-message {
	background: #e6f7f5 !important;
	color: #00b4a0 !important;
	border: 1px solid rgba(0, 180, 160, 0.2) !important;
	border-left-color: #00b4a0 !important;
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
	display: none !important;
	/* Hide default woo pseudo icons */
}

/* Overview List (Upper section) — 2×2 card grid */
.woocommerce-order-overview {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 16px !important;
	margin: 0 0 40px 0 !important;
	padding: 0 !important;
	list-style: none !important;
	border-bottom: none !important;
}

.woocommerce-order-overview li {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	font-size: 0.72rem !important;
	text-transform: uppercase !important;
	color: #9aa0a6 !important;
	letter-spacing: 0.7px !important;
	padding: 24px 28px !important;
	background: #f9fafb !important;
	border-radius: 12px !important;
	border: 1px solid #eef0f3 !important;
}

.woocommerce-order-overview li:last-child {
	border: 1px solid #eef0f3 !important;
}

.woocommerce-order-overview li strong {
	color: #0b1e4a !important;
	font-size: 1.3rem !important;
	text-transform: none !important;
	font-weight: 900 !important;
	letter-spacing: normal !important;
	line-height: 1.25 !important;
	display: block !important;
}

/* ── BACS Bank Details — branded card ───────────────────────────────────── */
.woocommerce-bacs-bank-details {
	margin: 36px 0 !important;
	padding: 28px 30px !important;
	background: #f9fafb !important;
	border-radius: 14px !important;
	border: 1px solid #e5e7eb !important;
}

.wc-bacs-bank-details-heading {
	font-size: 1.3rem !important;
	font-weight: 900 !important;
	color: #0b1e4a !important;
	margin: 0 0 16px 0 !important;
	padding: 0 !important;
}

.wc-bacs-bank-details-account-name {
	font-size: 0.9rem !important;
	font-weight: 800 !important;
	color: #0b1e4a !important;
	margin: 0 0 20px 0 !important;
	padding-bottom: 16px !important;
	border-bottom: 1px solid #e5e7eb !important;
}

.wc-bacs-bank-details {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
}

.wc-bacs-bank-details li {
	display: flex !important;
	flex-direction: column !important;
	gap: 3px !important;
	padding: 14px 0 !important;
	border-bottom: 1px solid #eef0f3 !important;
	font-size: 0.72rem !important;
	text-transform: uppercase !important;
	color: #9aa0a6 !important;
	letter-spacing: 0.7px !important;
}

.wc-bacs-bank-details li:last-child {
	border-bottom: none !important;
	padding-bottom: 0 !important;
}

.wc-bacs-bank-details li strong {
	font-size: 1rem !important;
	font-weight: 800 !important;
	color: #0b1e4a !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	line-height: 1.3 !important;
}

/* Payment concept notice (text before bank details) */
.kc-checkout-success-container .woocommerce-order>p:not(.woocommerce-notice) {
	background: #fffbeb !important;
	border: 1px solid #fde68a !important;
	border-left: 4px solid #f59e0b !important;
	border-radius: 10px !important;
	padding: 14px 18px !important;
	color: #92400e !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	margin: 0 0 28px 0 !important;
	line-height: 1.5 !important;
}

/* ── Recovery Login Form ────────────────────────────────────────────────── */
.woocommerce-form-login {
	background: #ffffff !important;
	border: 1px solid #eef0f3 !important;
	padding: 30px !important;
	border-radius: 16px !important;
	margin: 20px 0 40px !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
}

.woocommerce-form-login .form-row {
	margin-bottom: 20px !important;
}

.woocommerce-form-login .form-row label {
	display: block !important;
	position: static !important;
	margin-bottom: 10px !important;
	font-weight: 700 !important;
	color: #0b1e4a !important;
	font-size: 0.85rem !important;
	transform: none !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.woocommerce-form-login .input-text {
	width: 100% !important;
	padding: 12px 16px !important;
	border: 1px solid #eef0f3 !important;
	border-radius: 10px !important;
	background: #f9fafb !important;
	font-size: 0.95rem !important;
	transition: all 0.3s ease !important;
}

.woocommerce-form-login .input-text:focus {
	background: #ffffff !important;
	border-color: #00b4a0 !important;
	box-shadow: 0 0 0 4px rgba(0, 180, 160, 0.1) !important;
	outline: none !important;
}

/* Password eye fix */
.password-input {
	position: relative !important;
	display: block !important;
}

.password-input .show-password-input {
	position: absolute !important;
	top: 50% !important;
	right: 15px !important;
	transform: translateY(-50%) !important;
	background-color: transparent !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 18px !important;
	border: none !important;
	width: 24px !important;
	height: 24px !important;
	padding: 0 !important;
	cursor: pointer !important;
	color: #9aa0a6 !important;
	overflow: hidden !important;
	text-indent: -9999px !important;
	outline: none !important;
	box-shadow: none !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512' fill='%239aa0a6'%3E%3Cpath d='M288 32c-80.8 0-145.5 30.7-195 73.9S11.4 207.2 0 250.7C9.9 280.6 28.5 312.9 52.4 344.2C101.4 408.8 174.1 480 288 480c113.9 0 186.6-71.2 235.6-135.8c23.9-31.3 42.4-63.6 52.4-93.5c-11.4-43.5-41.9-133.6-93-176.8S368.8 32 288 32zm0 80c44.2 0 80 35.8 80 80s-35.8 80-80 80s-80-35.8-80-80s35.8-80 80-80zm0 128c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z'/%3E%3C/svg%3E") !important;
}

.password-input .show-password-input.display-password {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512' fill='%239aa0a6'%3E%3Cpath d='M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c-11.4-43.5-41.9-133.6-93-176.8C462.9 47.3 403.4 16 320 16c-54.7 0-103.8 20.2-144.1 52.8L38.8 5.1zM320 128c44.2 0 80 35.8 80 80c0 4.1-.3 8.2-.9 12.1L307.9 148.9c3.9-.6 8-1 12.1-1zm6.5 125L248.6 195.1V194c0-39.8 32.2-72 72-72c39.8 0 72 32.2 72 72c0 14.1-4.1 27.2-11.1 38.2l-55 40.8zm-113.8 26L187.7 301c-32.9-32.5-54.3-66.2-66.2-93.5c11.4-43.5 41.9-133.6 93-176.8C254.6 13.3 303.4 0 320 0c6.7 0 13.2 1.4 19.3 4.1L303.6 30.6c-4.4-.4-8.9-.6-13.6-.6-44.2 0-80 35.8-80 80c0 40.8 30.5 74.5 70 79.1L212.7 279z'/%3E%3C/svg%3E") !important;
}

.password-input .show-password-input::after {
	content: none !important;
}

.woocommerce-form-login__submit {
	background: #0b1e4a !important;
	color: #ffffff !important;
	padding: 14px 40px !important;
	border: none !important;
	border-radius: 99px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
}

.woocommerce-form-login__submit:hover {
	background: #00b4a0 !important;
	transform: translateY(-2px) !important;
}

.lost_password a {
	color: #0b1e4a !important;
	font-size: 0.85rem !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}

.lost_password a:hover {
	color: #ef4444 !important;
}

@media (min-width: 769px) {
	.woocommerce-form-login .form-row-first,
	.woocommerce-form-login .form-row-last {
		width: 48% !important;
		float: left !important;
	}

	.woocommerce-form-login .form-row-last {
		float: right !important;
	}

	.woocommerce-form-login .clear {
		clear: both !important;
	}
}

@media (max-width: 768px) {
	.woocommerce-form-login {
		padding: 20px !important;
	}
	
	.woocommerce-form-login__submit {
		width: 100% !important;
	}
}


/* Tables Styling */
.woocommerce-order-details__title,
.woocommerce-column__title {
	font-size: 1.3rem !important;
	font-weight: 900 !important;
	color: #0b1e4a !important;
	margin: 40px 0 20px 0 !important;
	border-left: 4px solid #00b4a0 !important;
	padding-left: 15px !important;
}

.shop_table.order_details {
	width: 100% !important;
	border-collapse: collapse !important;
	background: #fcfcfc !important;
	border-radius: 12px !important;
	overflow: hidden !important;
}

.shop_table.order_details th,
.shop_table.order_details td {
	padding: 16px 20px !important;
	border: 1px solid #eee !important;
	text-align: left !important;
}

.shop_table.order_details thead th {
	background: #0b1e4a !important;
	color: #ffffff !important;
	font-size: 0.8rem !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
}

.shop_table.order_details tbody td a {
	color: #0b1e4a !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

.shop_table.order_details tfoot th {
	text-align: right !important;
	background: #f9f9f9 !important;
	font-weight: 700 !important;
	color: #555 !important;
}

.shop_table.order_details tfoot td {
	font-weight: 900 !important;
	color: #0b1e4a !important;
}

/* Customer details / address */
.woocommerce-customer-details address {
	background: #ffffff !important;
	border: 2px solid #f3f3f3 !important;
	padding: 24px !important;
	border-radius: 12px !important;
	font-style: normal !important;
	line-height: 1.6 !important;
	color: #555 !important;
}

.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
	margin-top: 10px !important;
	padding-top: 10px !important;
	border-top: 1px solid #eee !important;
	font-weight: 600 !important;
	color: #00b4a0 !important;
}

.woocommerce-js form .form-row .input-checkbox {
	display: inline-block !important;
}

/* Overall Success Container */
.kc-checkout-success-container {
	max-width: 960px !important;
	margin: 0 auto !important;
	width: 100% !important;
}

/* Remove clearfix spaces that cause empty gaps */
.woocommerce-order-overview::before,
.woocommerce-order-overview::after,
.woocommerce-order-details::before,
.woocommerce-order-details::after,
ul.order_details::before,
ul.order_details::after,
.woocommerce-checkout-review-order-table::before,
.woocommerce-checkout-review-order-table::after {
	content: none !important;
	display: none !important;
	height: 0 !important;
	visibility: hidden !important;
}

/* Print Button Special Style — base defaults, overridden inside .kc-thankyou-return */
.kc-print-btn {
	background: #f8f9fa !important;
	color: #0b1e4a !important;
	border: 2px solid #d1d5db !important;
}

.kc-print-btn:hover {
	background: #fff !important;
	border-color: #00b4a0 !important;
	color: #00b4a0 !important;
}

/* Print-only CSS */
@media print {

	header,
	footer,
	.elementor-location-header,
	.elementor-location-footer,
	.kc-thankyou-return,
	.kc-checkout-next-btn,
	.kc-print-btn,
	#ast-order-review-toggle,
	.ast-mobile-order-review-wrap,
	.kc-checkout-detail-back,
	.ast-header-breadcrumb {
		display: none !important;
	}

	body {
		background: white !important;
	}

	.kc-checkout-container {
		margin: 0 !important;
		padding: 0 !important;
		box-shadow: none !important;
		border: none !important;
	}

	.kc-checkout-success-container {
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.woocommerce-order {
		box-shadow: none !important;
		border: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.woocommerce-notice--success {
		background: #f0fdfa !important;
		border: 1px solid #00b4a0 !important;
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}
}

@media (max-width: 768px) {
	.woocommerce-order {
		padding: 20px !important;
	}

	.woocommerce-order-overview {
		grid-template-columns: 1fr !important;
		gap: 8px !important;
	}

	.woocommerce-order-overview li {
		padding: 12px 16px !important;
		gap: 4px !important;
	}

	.woocommerce-order-overview li strong {
		font-size: 1rem !important;
		word-break: break-all !important;
	}

	.woocommerce-bacs-bank-details {
		padding: 16px !important;
	}

	.wc-bacs-bank-details-heading {
		font-size: 1rem !important;
	}

	.wc-bacs-bank-details li strong {
		font-size: 0.88rem !important;
		word-break: break-all !important;
	}

	.woocommerce-notice--success {
		font-size: 1rem !important;
		padding: 16px !important;
	}

	.kc-checkout-success-container .woocommerce-order > p {
		font-size: 0.85rem !important;
		padding: 12px !important;
	}

	.kc-thankyou-return {
		flex-direction: column !important;
		gap: 12px !important;
	}

	.kc-thankyou-return .kc-checkout-next-btn,
	.kc-thankyou-return .kc-checkout-prev-btn,
	.kc-thankyou-return .kc-print-btn {
		width: 100% !important;
		min-width: unset !important;
	}
}

/* Return Button Wrapper */
.kc-thankyou-return {
	text-align: center !important;
	margin: 60px auto 40px !important;
	padding-top: 40px !important;
	border-top: 2px dashed #f0f0f0 !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 16px !important;
	width: 100% !important;
}

/* Unified button base — same shape, size and typography for all return buttons */
.kc-thankyou-return .kc-checkout-next-btn,
.kc-thankyou-return .kc-checkout-prev-btn,
.kc-thankyou-return .kc-print-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 16px 32px !important;
	font-size: 0.95rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.3px !important;
	border-radius: 12px !important;
	border: 2px solid transparent !important;
	cursor: pointer !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
	white-space: nowrap !important;
	min-width: 200px !important;
	text-transform: none !important;
}

/* Primary — teal fill */
.kc-thankyou-return .kc-checkout-next-btn {
	background-color: var(--kc-accent, #00b4a0) !important;
	color: #ffffff !important;
	border-color: var(--kc-accent, #00b4a0) !important;
}

.kc-thankyou-return .kc-checkout-next-btn:hover {
	filter: brightness(0.92) !important;
	transform: translateY(-1px) !important;
}

/* Secondary — outline dark */
.kc-thankyou-return .kc-checkout-prev-btn,
.kc-thankyou-return .kc-print-btn {
	background: #ffffff !important;
	color: #0b1e4a !important;
	border-color: #d1d5db !important;
	margin-right: 0 !important;
}

.kc-thankyou-return .kc-checkout-prev-btn:hover,
.kc-thankyou-return .kc-print-btn:hover {
	background: #f9fafb !important;
	border-color: #00b4a0 !important;
	color: #00b4a0 !important;
}