/* Offsport cart and checkout. Totals, tax, shipping, and payment markup stay with WooCommerce. */

.woocommerce-cart,
.woocommerce-checkout {
	background: #08090d;
	color: #f3f4f6;
}

.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-cart .ast-woocommerce-container,
.woocommerce-checkout .ast-woocommerce-container {
	max-width: 1120px;
}

.offsport-cart {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
	align-items: start;
}

.offsport-cart__item {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 14px;
	background: #11141c;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 16px;
	padding: 14px;
	margin: 0 0 12px;
}

.offsport-cart__media img {
	width: 88px;
	height: 88px;
	object-fit: cover;
	border-radius: 12px;
	display: block;
}

.offsport-cart__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.offsport-cart__title,
.offsport-cart__title a {
	margin: 0;
	color: #f3f4f6;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 600;
	text-decoration: none;
}

.offsport-cart__item .product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	min-height: 48px;
	padding: 0 12px;
	border-radius: 12px;
	background: transparent !important;
	color: #9ca3af !important;
	font-size: 14px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none;
}

.offsport-cart__item dl.variation {
	margin: 8px 0 0;
	color: #9ca3af;
	font-size: 14px;
}

.offsport-cart__item dl.variation dt,
.offsport-cart__item dl.variation dd,
.offsport-cart__item dl.variation p {
	display: inline;
	margin: 0;
}

.offsport-cart__item dl.variation dd {
	margin-inline-start: 6px;
}

.offsport-cart__meta {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin-top: 14px;
}

.offsport-cart__price span,
.offsport-cart__qty span,
.offsport-cart__line span {
	display: block;
	color: #9ca3af;
	font-size: 13px;
	margin-bottom: 6px;
}

.offsport-cart__price strong,
.offsport-cart__line strong {
	color: #f3f4f6;
	font-size: 16px;
	font-weight: 600;
}

.offsport-qty {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.offsport-qty__btn {
	width: 48px;
	height: 48px;
	min-height: 48px;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: #08090d;
	color: #f3f4f6;
	font-size: 22px;
	line-height: 1;
	padding: 0;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
}

.offsport-qty__btn:hover {
	border-color: #0076ff;
	color: #00d2ff;
	background: #08090d;
}

.offsport-qty .quantity {
	margin: 0;
}

.offsport-qty input.qty {
	width: 64px !important;
	min-height: 48px;
	text-align: center;
	padding: 0 !important;
}

.offsport-cart__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	margin-top: 8px;
}

.offsport-cart__actions .coupon {
	display: flex;
	flex: 1 1 260px;
	gap: 8px;
	align-items: center;
	min-width: 0;
}

.offsport-cart__actions .coupon .input-text {
	flex: 1 1 auto;
	min-width: 0;
}

.woocommerce-cart .cart-collaterals {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.woocommerce-cart .cart_totals {
	order: -1;
	background: #11141c !important;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 16px;
	padding: 18px !important;
	color: #f3f4f6;
	width: 100% !important;
	float: none !important;
}

.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review_heading {
	color: #f3f4f6;
	font-size: 18px;
	margin: 0 0 12px;
}

.woocommerce-cart .cart_totals table,
.woocommerce-checkout table.shop_table {
	width: 100%;
	border: 0;
	background: transparent;
	color: #f3f4f6;
}

.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td,
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
	color: #f3f4f6;
	border-color: rgba(255, 255, 255, 0.08) !important;
	background: transparent !important;
	padding: 10px 0;
}

.woocommerce-cart #shipping_method,
.woocommerce-checkout #shipping_method {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-cart #shipping_method label,
.woocommerce-checkout #shipping_method label,
.woocommerce-checkout #payment label {
	color: #f3f4f6;
}

.woocommerce-cart a.checkout-button,
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart button[name="apply_coupon"],
.woocommerce-checkout #place_order,
.woocommerce-checkout button[name="apply_coupon"] {
	min-height: 48px;
	font-size: 16px !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	background: #0076ff !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 12px !important;
	padding: 12px 22px !important;
	box-shadow: none !important;
	text-align: center;
}

.woocommerce-cart a.checkout-button:hover,
.woocommerce-cart button[name="update_cart"]:hover,
.woocommerce-cart button[name="apply_coupon"]:hover,
.woocommerce-checkout #place_order:hover,
.woocommerce-checkout button[name="apply_coupon"]:hover {
	background: #00d2ff !important;
	color: #08090d !important;
}

.woocommerce-cart a.checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 12px;
}

.woocommerce-cart button[name="update_cart"]:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.offsport-checkout__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
	align-items: start;
}

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

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	background: #11141c;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 16px;
	padding: 16px;
}

.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	margin-top: 16px;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
	color: #f3f4f6;
	margin-top: 0;
}

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

.woocommerce-checkout .form-row label {
	display: block;
	color: #9ca3af;
	margin-bottom: 6px;
	font-size: 14px;
}

.woocommerce-checkout .form-row label .required {
	color: #00d2ff;
	text-decoration: none;
}

.woocommerce-checkout .form-row .description,
.offsport-coupon__hint {
	color: #9ca3af;
	font-size: 13px;
	margin: 6px 0 0;
}

.woocommerce-cart input.input-text,
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single {
	background: #08090d !important;
	color: #f3f4f6 !important;
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
	border-radius: 12px !important;
	min-height: 48px;
	font-size: 16px !important;
	padding: 12px 14px !important;
	width: 100%;
	box-sizing: border-box;
	box-shadow: none !important;
}

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

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #f3f4f6 !important;
	line-height: 24px !important;
	padding: 0 !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 48px;
}

.woocommerce-checkout .select2-dropdown {
	background: #11141c;
	color: #f3f4f6;
	border-color: rgba(255, 255, 255, 0.16);
}

.woocommerce-checkout .select2-container--default .select2-results__option {
	color: #f3f4f6;
}

.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: #0076ff;
	color: #ffffff;
}

.woocommerce-cart input.input-text:focus,
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout .select2-container--open .select2-selection--single,
.woocommerce-checkout .select2-container--focus .select2-selection--single {
	border: 1px solid #0076ff !important;
	outline: none;
	box-shadow: 0 0 0 3px rgba(0, 118, 255, 0.25) !important;
}

.woocommerce-checkout ::placeholder,
.woocommerce-cart ::placeholder {
	color: #9ca3af;
	opacity: 1;
}

.offsport-checkout__summary {
	background: #11141c;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 16px;
	padding: 16px;
}

.woocommerce-checkout #order_review,
.woocommerce-checkout #payment {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods {
	border: 0;
	padding: 0;
}

.woocommerce-checkout #payment div.payment_box {
	background: #08090d !important;
	color: #f3f4f6 !important;
	border-radius: 12px;
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: #08090d !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info {
	background: #11141c !important;
	color: #f3f4f6 !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 16px;
	padding: 16px 18px !important;
}

.woocommerce-form-coupon-toggle .showcoupon {
	color: #00d2ff;
	font-weight: 600;
}

form.checkout_coupon {
	background: #11141c !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 16px;
	padding: 16px !important;
	margin-bottom: 16px !important;
}

form.checkout_coupon .form-row {
	float: none !important;
	width: 100% !important;
}

.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error {
	background: #11141c;
	color: #f3f4f6;
	border-radius: 12px;
}

@media (min-width: 700px) {
	.offsport-cart__meta {
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
		align-items: end;
	}

	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last {
		width: calc(50% - 8px) !important;
		display: inline-block;
		vertical-align: top;
		margin: 0 0 14px !important;
	}

	.woocommerce-checkout .form-row-first {
		margin-inline-end: 16px !important;
	}
}

.offsport-coupon-accordion {
	background: #11141c;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 16px;
	padding: 0;
	margin: 0 0 16px;
	color: #f3f4f6;
}

.offsport-coupon-accordion summary {
	min-height: 48px;
	padding: 14px 16px;
	cursor: pointer;
	list-style: none;
	font-size: 16px;
}

.offsport-coupon-accordion summary::-webkit-details-marker {
	display: none;
}

.offsport-coupon-accordion .offsport-coupon__hint,
.offsport-coupon-accordion__body {
	padding: 0 16px 16px;
}

.wcf-custom-coupon-field,
.offsport-coupon-accordion .wcf-custom-coupon-field {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.wcf-embed-checkout-form .wcf-order-wrap,
.offsport-checkout__summary {
	background: #11141c;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 16px;
	padding: 16px;
}

@media (min-width: 900px) {
	form.checkout.offsport-checkout:not(:has(.wcf-instant-checkout-wrapper)) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 360px;
		gap: 20px;
		align-items: start;
	}

	form.checkout.offsport-checkout:not(:has(.wcf-instant-checkout-wrapper)) #customer_details {
		grid-column: 1;
		grid-row: 1;
	}

	form.checkout.offsport-checkout:not(:has(.wcf-instant-checkout-wrapper)) .wcf-order-wrap {
		grid-column: 2;
		grid-row: 1;
		position: sticky;
		top: 88px;
	}

	.wcf-ic-layout-right-column {
		position: sticky;
		top: 88px;
		align-self: start;
	}

	.offsport-cart {
		grid-template-columns: minmax(0, 1fr) 340px;
	}

	.woocommerce-cart .cart_totals {
		position: sticky;
		top: 88px;
	}

	.offsport-checkout__layout {
		grid-template-columns: minmax(0, 1fr) 360px;
	}

	.offsport-checkout__summary {
		position: sticky;
		top: 88px;
	}
}

@media (max-width: 899px) {
	.woocommerce-cart button[name="update_cart"],
	.woocommerce-cart button[name="apply_coupon"],
	.woocommerce-checkout #place_order,
	.woocommerce-checkout button[name="apply_coupon"] {
		width: 100%;
	}

	.offsport-cart__actions,
	.offsport-cart__actions .coupon {
		flex-direction: column;
		align-items: stretch;
	}

	.woocommerce-cart .cart_totals,
	.offsport-checkout__summary {
		position: static;
	}

	.offsport-cart,
	.offsport-checkout__layout,
	.offsport-cart__item,
	.woocommerce-checkout table.shop_table {
		max-width: 100%;
	}

	.woocommerce-checkout table.shop_table,
	.woocommerce-cart .cart_totals table {
		table-layout: fixed;
	}

	.woocommerce-checkout table.shop_table th,
	.woocommerce-checkout table.shop_table td,
	.woocommerce-cart .cart_totals th,
	.woocommerce-cart .cart_totals td {
		word-break: break-word;
	}
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout #place_order,
body.woocommerce-checkout .wcf-submit-coupon,
body.woocommerce-cart .offsport-qty__btn,
body.woocommerce-cart a.checkout-button,
body.woocommerce-cart button[name="update_cart"],
body.woocommerce-cart button[name="apply_coupon"] {
	min-height: 48px !important;
}
