/* ==========================================================================
   FLAMTEES premium cart
   ========================================================================== */

body.woocommerce-cart {
	background: #f5f8fa;
}

body.woocommerce-cart #primary,
body.woocommerce-cart .entry-content,
body.woocommerce-cart .wp-block-woocommerce-cart {
	width: 100%;
	max-width: var(--flamtees-container-width);
	margin-inline: auto;
}

body.woocommerce-cart #main {
	padding: clamp(28px, 4vw, 64px) var(--flamtees-container-padding) clamp(56px, 7vw, 100px);
}

body.woocommerce-cart .entry-title {
	margin: 0 0 28px;
	font-size: clamp(2rem, 4vw, 3.4rem);
}

/* WooCommerce Cart Block. */
body.woocommerce-cart .wc-block-cart {
	gap: clamp(22px, 3vw, 42px);
}

@media (min-width: 901px) {
	body.woocommerce-cart .wc-block-cart {
		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: flex-start !important;
	}

	body.woocommerce-cart .wc-block-cart__main {
		flex: 1 1 auto !important;
		width: auto !important;
		min-width: 0 !important;
	}

	body.woocommerce-cart .wc-block-cart__sidebar {
		flex: 0 0 min(34%, 460px) !important;
		width: min(34%, 460px) !important;
		min-width: 360px !important;
	}
}

body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-cart__sidebar {
	margin: 0 !important;
}

body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wc-block-cart__sidebar {
	overflow: hidden;
	border: 1px solid #dce6ec !important;
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 12px 36px rgba(35, 68, 91, 0.08);
}

body.woocommerce-cart .wc-block-cart-items thead {
	background: color-mix(in srgb, var(--flamtees-color-primary) 12%, #ffffff);
}

body.woocommerce-cart .wc-block-cart-items th {
	padding: 18px 20px !important;
	border: 0 !important;
	color: #17202a;
	font-family: var(--flamtees-font-display, "League Spartan", Arial, sans-serif) !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.055em;
	text-transform: uppercase;
}

body.woocommerce-cart .wc-block-cart-items td {
	padding: 24px 20px !important;
	border-color: #e5edf2 !important;
	vertical-align: top;
}

body.woocommerce-cart .wc-block-cart-item__image img {
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 12px !important;
	background: #f3f6f8;
}

body.woocommerce-cart .wc-block-components-product-name {
	color: #111827;
	font-size: 1rem;
	font-weight: 600 !important;
	line-height: 1.4;
}

body.woocommerce-cart .wc-block-components-product-metadata {
	margin-top: 7px;
	color: #64748b;
	font-size: 0.84rem;
}

body.woocommerce-cart .wc-block-components-quantity-selector {
	height: 42px;
	overflow: hidden;
	border: 1px solid #cbd9e2 !important;
	border-radius: 10px !important;
	background: #ffffff;
}

body.woocommerce-cart .wc-block-components-quantity-selector input {
	font-weight: 600;
}

body.woocommerce-cart .wc-block-cart-item__remove-link {
	color: #64748b !important;
	font-size: 0.78rem !important;
	font-weight: 600 !important;
	text-decoration: underline !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover {
	color: #b42318 !important;
}

body.woocommerce-cart .wc-block-components-product-price,
body.woocommerce-cart .wc-block-components-product-badge {
	font-weight: 600;
}

body.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
	align-items: flex-end;
}

body.woocommerce-cart .wc-block-components-product-badge {
	padding: 5px 8px;
	border: 0;
	border-radius: 7px;
	background: color-mix(in srgb, var(--flamtees-color-primary) 15%, #ffffff);
	color: #315f80;
}

/* Totals card and branded heading banner. */
body.woocommerce-cart .wc-block-cart__sidebar {
	align-self: start;
	padding: 0 24px 24px !important;
}

body.woocommerce-cart .wc-block-cart__totals-title {
	margin: 0 -24px 8px !important;
	padding: 18px 24px !important;
	border: 0 !important;
	border-radius: 17px 17px 0 0;
	background: var(--flamtees-color-primary);
	color: #ffffff;
	font-family: var(--flamtees-font-display, "League Spartan", Arial, sans-serif) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.055em;
	text-align: left !important;
	text-transform: uppercase;
}

body.woocommerce-cart .wc-block-components-totals-wrapper {
	padding: 16px 0 !important;
	border-color: #e3ebf0 !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__button {
	color: var(--flamtees-color-primary) !important;
	font-weight: 700 !important;
}

body.woocommerce-cart .wc-block-components-text-input input {
	min-height: 50px;
	border: 1px solid #b9cad5 !important;
	border-radius: 10px !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__form button {
	min-height: 50px;
	padding-inline: 22px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: #25313a !important;
	color: #ffffff !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item {
	padding: 18px 0 4px;
	font-size: 1.12rem;
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--flamtees-font-display, "League Spartan", Arial, sans-serif) !important;
	font-weight: 700 !important;
}

body.woocommerce-cart .wc-block-cart__submit {
	margin: 18px 0 0 !important;
}

body.woocommerce-cart .wc-block-cart__submit-button {
	min-height: 58px;
	border: 2px solid var(--flamtees-color-primary);
	border-radius: 12px !important;
	background: var(--flamtees-color-primary) !important;
	color: #ffffff !important;
	box-shadow: 0 10px 24px rgba(87, 147, 189, 0.25);
	font-family: var(--flamtees-font-display, "League Spartan", Arial, sans-serif) !important;
	font-size: 1rem;
	font-weight: 700 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover {
	background: #467fa8 !important;
	box-shadow: 0 14px 30px rgba(87, 147, 189, 0.32);
	transform: translateY(-2px);
}

body.woocommerce-cart .wc-block-components-shipping-rates-control__package,
body.woocommerce-cart .wc-block-components-totals-shipping {
	font-size: 0.9rem;
}

/* Classic cart fallback. */
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals .cart_totals {
	padding: 24px;
	overflow: hidden;
	border: 1px solid #dce6ec;
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 12px 36px rgba(35, 68, 91, 0.08);
}

body.woocommerce-cart .woocommerce-cart-form table,
body.woocommerce-cart .cart-collaterals table {
	border: 0;
}

body.woocommerce-cart .cart-collaterals .cart_totals h2 {
	margin: -24px -24px 18px;
	padding: 18px 24px;
	border-radius: 17px 17px 0 0;
	background: var(--flamtees-color-primary);
	color: #ffffff;
}

body.woocommerce-cart .checkout-button {
	border-radius: 12px !important;
	background: var(--flamtees-color-primary) !important;
	color: #ffffff !important;
}

@media (max-width: 900px) {
	body.woocommerce-cart .wc-block-cart {
		display: block !important;
	}

	body.woocommerce-cart .wc-block-cart__sidebar {
		width: 100% !important;
		margin-top: 22px !important;
	}
}

@media (max-width: 600px) {
	body.woocommerce-cart #main {
		padding: 22px 14px 56px;
	}

	body.woocommerce-cart .wc-block-cart-items,
	body.woocommerce-cart .wc-block-cart__sidebar,
	body.woocommerce-cart .woocommerce-cart-form,
	body.woocommerce-cart .cart-collaterals .cart_totals {
		border-radius: 14px;
	}

	body.woocommerce-cart .wc-block-cart-items td {
		padding: 16px 12px !important;
	}

	body.woocommerce-cart .wc-block-cart__sidebar {
		padding: 0 16px 18px !important;
	}

	body.woocommerce-cart .wc-block-cart__totals-title {
		margin-right: -16px !important;
		margin-left: -16px !important;
		padding: 16px !important;
		border-radius: 13px 13px 0 0;
	}

	body.woocommerce-cart .wc-block-cart-item__image {
		width: 72px !important;
	}

	body.woocommerce-cart .wc-block-components-product-name {
		font-size: 0.9rem;
	}
}
