/* Desktop amplo: referência de 1440px. */
@media (min-width: 1280px) {
	body.woocommerce-cart.osmc-enabled .osmc-cart-header {
		margin-bottom: 32px;
	}

	body.woocommerce-cart.osmc-enabled .osmc-empty-state {
		min-height: 480px;
		padding: 64px 32px;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form tr.osmc-cart-item {
		gap: 18px !important;
		min-height: 136px;
		padding: 20px 170px 20px 20px !important;
	}

	body.woocommerce-cart.osmc-enabled.osmc-block-enabled .osmc-block-cart-item {
		padding: 20px;
	}
}

/* Desktop padrão: referência de 1024px. */
@media (min-width: 1024px) and (max-width: 1279px) {
	body.woocommerce-cart.osmc-enabled .woocommerce,
	body.woocommerce-cart.osmc-enabled .wp-block-woocommerce-cart {
		width: calc(100% - 48px);
	}

	body.woocommerce-cart.osmc-enabled .woocommerce {
		gap: 24px;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form {
		flex: 1 1 560px;
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals {
		flex: 0 1 340px;
		min-width: 300px;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form tr.osmc-cart-item {
		gap: 14px !important;
		min-height: 132px;
		padding: 18px 168px 18px 18px !important;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form tr.osmc-cart-item > td.product-subtotal {
		top: 18px !important;
		right: 18px !important;
		width: 142px !important;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form tr.osmc-cart-item > td.product-quantity {
		bottom: 18px !important;
		left: calc(18px + var(--osmc-product-image-size) + 14px) !important;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form tr.osmc-cart-item > td.product-remove {
		right: 18px !important;
		bottom: 18px !important;
	}

	body.woocommerce-cart.osmc-enabled.osmc-block-enabled .osmc-block-cart-item {
		padding: 18px;
	}
}

/* Tablet: entre 768px e 1023px. */
@media (min-width: 768px) and (max-width: 1023px) {
	body.woocommerce-cart.osmc-enabled .woocommerce,
	body.woocommerce-cart.osmc-enabled .wp-block-woocommerce-cart {
		width: calc(100% - 48px);
	}

	body.woocommerce-cart.osmc-enabled .osmc-empty-state {
		min-height: 420px;
		padding: 48px 24px;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce {
		flex-direction: column;
		gap: 24px;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form,
	body.woocommerce-cart.osmc-enabled .cart-collaterals {
		flex: 1 1 auto;
		width: 100%;
		min-width: 0;
	}

	body.woocommerce-cart.osmc-enabled.osmc-sticky-summary .cart-collaterals .cart_totals {
		position: static;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form tr.osmc-cart-item {
		gap: 14px !important;
		min-height: 132px;
		padding: 18px 168px 18px 18px !important;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form tr.osmc-cart-item > td.product-subtotal {
		top: 18px !important;
		right: 18px !important;
		width: 142px !important;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form tr.osmc-cart-item > td.product-quantity {
		bottom: 18px !important;
		left: calc(18px + var(--osmc-product-image-size) + 14px) !important;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form tr.osmc-cart-item > td.product-remove {
		right: 18px !important;
		bottom: 18px !important;
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table tr:not(.shipping) {
		flex-wrap: nowrap;
		align-items: center;
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table th,
	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table td {
		display: block !important;
		width: auto !important;
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table tr:not(.shipping) > th {
		flex: 1 1 auto;
		text-align: left !important;
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table tr:not(.shipping) > td {
		flex: 0 1 auto;
		text-align: right !important;
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table td::before {
		display: none !important;
		content: "" !important;
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table tr.shipping > th,
	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table tr.shipping > td {
		display: block !important;
		flex: 1 1 100%;
		width: 100% !important;
		text-align: left !important;
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table .order-total {
		margin-top: 4px;
		padding-top: 16px;
		border-top: 1px solid var(--osmc-border);
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table .cart-discount th,
	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table .cart-discount td {
		display: flex !important;
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table .cart-discount td {
		justify-content: flex-end;
	}

	body.woocommerce-cart.osmc-enabled.osmc-block-enabled .osmc-block-cart-item {
		padding: 18px;
	}
}

/* Mobile: até 767px. */
@media (max-width: 767px) {
	body.woocommerce-cart.osmc-enabled .woocommerce,
	body.woocommerce-cart.osmc-enabled .wp-block-woocommerce-cart {
		width: calc(100% - 32px);
	}

	body.woocommerce-cart.osmc-enabled .osmc-cart-header {
		align-items: center;
		gap: 10px;
		margin-bottom: 24px;
		padding-bottom: 16px;
	}

	body.woocommerce-cart.osmc-enabled .osmc-cart-header__icon {
		width: 36px;
		height: 36px;
	}

	body.woocommerce-cart.osmc-enabled .osmc-cart-header__icon img {
		width: 20px;
		height: 20px;
	}

	body.woocommerce-cart.osmc-enabled .osmc-cart-header__content {
		flex-direction: row;
		align-items: center;
		flex-wrap: wrap;
		gap: 6px;
	}

	body.woocommerce-cart.osmc-enabled .osmc-cart-header__title {
		font-size: 1.625rem;
	}

	body.woocommerce-cart.osmc-enabled .osmc-empty-state {
		gap: 20px;
		min-height: 380px;
		padding: 40px 20px;
	}

	body.woocommerce-cart.osmc-enabled .osmc-empty-state__image {
		width: 112px;
		height: 112px;
	}

	body.woocommerce-cart.osmc-enabled .osmc-empty-state__actions {
		flex-direction: column;
	}

	body.woocommerce-cart.osmc-enabled .osmc-button {
		width: 100%;
		min-height: 48px;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce {
		flex-direction: column;
		gap: 20px;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form,
	body.woocommerce-cart.osmc-enabled .cart-collaterals {
		flex: 1 1 auto;
		width: 100%;
		min-width: 0;
	}

	body.woocommerce-cart.osmc-enabled.osmc-sticky-summary .cart-collaterals .cart_totals {
		position: static;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form table.shop_table tbody {
		gap: 12px;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form tr.osmc-cart-item {
		gap: 10px !important;
		min-height: 128px;
		padding: 14px 94px 14px 14px !important;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form tr.osmc-cart-item > td.product-thumbnail {
		flex-basis: 72px !important;
		min-width: 72px !important;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form .product-thumbnail img {
		width: 72px;
		height: 72px;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form tr.osmc-cart-item > td.product-name {
		padding-bottom: 48px !important;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form tr.osmc-cart-item > td.product-subtotal {
		top: 14px !important;
		right: 14px !important;
		width: 72px !important;
		font-size: 0.875rem;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form .osmc-cart-item-prices {
		flex-direction: column;
		align-items: flex-end;
		gap: 2px;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form tr.osmc-cart-item > td.product-quantity {
		bottom: 14px !important;
		left: 96px !important;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form tr.osmc-cart-item > td.product-remove {
		right: 14px !important;
		bottom: 17px !important;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form td.actions,
	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form .osmc-coupon__panel {
		flex-direction: column;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form .osmc-coupon__panel {
		gap: 8px;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form .coupon input.input-text,
	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form .coupon #coupon_code,
	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form .coupon button[name="apply_coupon"],
	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form button[name="update_cart"],
	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form .osmc-continue-shopping {
		width: 100% !important;
	}

	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form .coupon input.input-text,
	body.woocommerce-cart.osmc-enabled .woocommerce-cart-form .coupon #coupon_code {
		height: 44px !important;
		min-height: 44px !important;
		max-height: 44px !important;
		padding: 10px 12px !important;
		line-height: 1.2 !important;
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals {
		min-width: 0;
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals .cart_totals {
		padding: 18px;
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table tr:not(.shipping) {
		flex-wrap: nowrap;
		align-items: center;
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table th,
	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table td {
		display: block !important;
		width: auto !important;
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table tr:not(.shipping) > th {
		flex: 1 1 auto;
		text-align: left !important;
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table tr:not(.shipping) > td {
		flex: 0 1 auto;
		text-align: right !important;
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table td::before {
		display: none !important;
		content: "" !important;
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table tr.shipping > th,
	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table tr.shipping > td {
		display: block !important;
		flex: 1 1 100%;
		width: 100% !important;
		text-align: left !important;
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table .order-total {
		margin-top: 4px;
		padding-top: 16px;
		border-top: 1px solid var(--osmc-border);
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table .cart-discount th,
	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table .cart-discount td {
		display: flex !important;
	}

	body.woocommerce-cart.osmc-enabled .cart-collaterals table.shop_table .cart-discount td {
		justify-content: flex-end;
	}

	body.woocommerce-cart.osmc-enabled.osmc-block-enabled .osmc-block-cart-item {
		padding: 14px;
	}
}
