.bloom-cart-meta {
	margin: 0.65rem 0 0;
	padding: 0;
	font-size: 12px;
	line-height: 1.45;
	color: var(--porto-body-color, #777);
	text-transform: none;
}

.bloom-cart-meta__panel {
	background: #f8f9fa;
	border: 1px solid #e8ecef;
	border-left: 3px solid #d4af37;
	border-radius: 6px;
	padding: 0.55rem 0.7rem;
}

.bloom-cart-meta__section {
	padding: 0.45rem 0;
	border-bottom: 1px solid #e8ecef;
}

.bloom-cart-meta__section:first-child {
	padding-top: 0;
}

.bloom-cart-meta__section--last {
	border-bottom: 0;
	padding-bottom: 0;
}

.bloom-cart-meta__heading {
	margin: 0 0 0.3rem;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.02em;
	text-transform: none;
	color: var(--porto-heading-color, #333);
}

.bloom-cart-meta__line {
	margin: 0;
}

.bloom-cart-meta__line + .bloom-cart-meta__line,
.bloom-cart-meta__addon-row + .bloom-cart-meta__addon-row,
.bloom-cart-meta__line + .bloom-cart-meta__addon-row,
.bloom-cart-meta__addon-row + .bloom-cart-meta__line {
	margin-top: 0.25rem;
}

.bloom-cart-meta__line--compact,
.bloom-cart-meta__line--text {
	color: var(--porto-heading-color, #222);
}

.bloom-cart-meta__line--message {
	margin-top: 0.3rem;
	padding: 0.35rem 0.45rem;
	border-left: 2px solid #e5d5a8;
	background: #fff;
	border-radius: 0 4px 4px 0;
	color: var(--porto-heading-color, #222);
	font-style: italic;
}

.bloom-cart-meta__addon-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.65rem;
	padding: 0.3rem 0.4rem;
	background: #fff;
	border-radius: 4px;
	border: 1px solid #edf0f2;
}

.bloom-cart-meta__addon-name {
	flex: 1;
	min-width: 0;
	color: var(--porto-heading-color, #222);
	font-size: 11px;
	line-height: 1.4;
}

.bloom-cart-meta__addon-qty {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.75rem;
	padding: 0.1rem 0.35rem;
	border-radius: 999px;
	background: #f3f4f6;
	color: var(--porto-heading-color, #333);
	font-size: 10px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
}

.bloom-cart-meta__line--pair {
	display: flex;
	flex-wrap: wrap;
	gap: 0.2rem 0.45rem;
}

.bloom-cart-meta__label {
	font-weight: 600;
	color: var(--porto-heading-color, #333);
}

.bloom-cart-meta__value {
	color: var(--porto-heading-color, #222);
}

.bloom-line-price {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.15rem;
	text-align: right;
}

.woocommerce-cart-form .product-price .bloom-line-price,
.woocommerce-cart-form .product-subtotal .bloom-line-price {
	align-items: flex-end;
}

.checkout-order-review .bloom-line-price {
	align-items: flex-end;
}

.bloom-line-price__base {
	display: block;
	font-size: inherit;
	font-weight: 600;
	color: var(--porto-heading-color, #222);
	line-height: 1.25;
}

.bloom-line-price__base .amount,
.bloom-line-price__addons .amount {
	font-weight: inherit;
}

.bloom-line-price__addons {
	display: block;
	font-size: 0.82em;
	font-weight: 500;
	color: #8a7340;
	line-height: 1.25;
}

.bloom-line-price__addons-sign {
	margin-right: 0.1rem;
	color: #d4af37;
	font-weight: 700;
}

.bloom-line-price__addons-label {
	margin-left: 0.2rem;
	color: #9a8860;
	font-size: 0.92em;
}

.checkout-order-review .bloom-cart-meta,
.woocommerce-cart-form .bloom-cart-meta {
	margin-top: 0.5rem;
}

.checkout-order-review .product-name .bloom-cart-meta {
	font-size: 11px;
}

.checkout-order-review .bloom-cart-meta__panel,
.woocommerce-cart-form .bloom-cart-meta__panel {
	max-width: 100%;
}

.checkout-order-review .bloom-cart-meta__heading,
.woocommerce-cart-form .bloom-cart-meta__heading {
	font-size: 11px;
}

.checkout-order-review .woocommerce-checkout-review-order-table .product-price.bloom-checkout-product-price {
	margin-top: 0.5rem;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.checkout-order-review .woocommerce-checkout-review-order-table .product-price.bloom-checkout-product-price .product-total {
	line-height: 1.35;
}

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

/* Checkout order summary — typography hierarchy & spacing */
.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr {
	border-bottom: none !important;
}

.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr:first-child th,
.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr:first-child td {
	padding-top: 1.15rem;
	border-top: 1px solid #e8ecef;
}

.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.bloom-checkout-totals__row--detail th,
.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.bloom-checkout-totals__row--detail td,
.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals th,
.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td,
.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.cart-discount th,
.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.cart-discount td,
.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.fee th,
.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.fee td {
	padding-top: 0.35rem;
	padding-bottom: 0.35rem;
}

.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th,
.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td {
	padding-top: 0.55rem;
	padding-bottom: 0.55rem;
}

.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.order-total th,
.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.order-total td {
	padding-top: 0.85rem;
	padding-bottom: 0.35rem;
	border-top: 1px solid #dae2e6 !important;
}

.checkout-order-review .woocommerce-checkout-review-order-table .bloom-checkout-totals__label,
.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals th,
.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.cart-discount th,
.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.fee th {
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
	color: #8a8b8e;
	letter-spacing: 0;
	text-transform: none;
}

.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.bloom-checkout-totals__row--detail td,
.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td,
.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.cart-discount td,
.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.fee td {
	font-size: 13px;
	font-weight: 400;
	color: #8a8b8e;
}

.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th h4 {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--porto-heading-color, #333);
	letter-spacing: -0.01em;
}

.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td {
	font-size: 14px;
	font-weight: 500;
	color: var(--porto-heading-color, #333);
}

.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.order-total th h4 {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--porto-heading-color, #222);
	letter-spacing: -0.015em;
}

.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.order-total td {
	font-size: 18px;
	font-weight: 600;
	color: var(--porto-heading-color, #222);
}

.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.order-total .amount {
	font-size: inherit;
	font-weight: inherit;
}

.bloom-checkout-totals__label {
	white-space: nowrap;
}

.cart_totals table.cart-total tr.bloom-checkout-totals__row--detail th {
	width: auto;
	min-width: 7.5rem;
	white-space: nowrap;
	padding-right: 0.75rem;
}

.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.bloom-checkout-totals__row--detail th {
	white-space: nowrap;
	padding-right: 0.75rem;
}

/* Cart totals sidebar — same breakdown styling as checkout */
.cart_totals table.cart-total tr.bloom-checkout-totals__row--detail,
.cart_totals table.cart-total tr.cart-subtotal,
.cart_totals table.cart-total tr.cart-discount,
.cart_totals table.cart-total tr.fee,
.cart_totals table.cart-total tr.woocommerce-shipping-totals {
	border-bottom: none !important;
}

.cart_totals table.cart-total tr.bloom-cart-products-total th,
.cart_totals table.cart-total tr.bloom-cart-products-total td,
.cart_totals table.cart-total tr.bloom-cart-product-price th,
.cart_totals table.cart-total tr.bloom-cart-product-price td,
.cart_totals table.cart-total tr.bloom-cart-addon-total:first-child th,
.cart_totals table.cart-total tr.bloom-cart-addon-total:first-child td {
	padding-top: 0.75rem;
	border-top: 1px solid #e8ecef;
}

.cart_totals table.cart-total tr.bloom-checkout-totals__row--detail th,
.cart_totals table.cart-total tr.bloom-checkout-totals__row--detail td,
.cart_totals table.cart-total tr.cart-discount th,
.cart_totals table.cart-total tr.cart-discount td,
.cart_totals table.cart-total tr.fee th,
.cart_totals table.cart-total tr.fee td {
	padding-top: 0.35rem;
	padding-bottom: 0.35rem;
}

.cart_totals table.cart-total tr.cart-subtotal th,
.cart_totals table.cart-total tr.cart-subtotal td {
	padding-top: 0.55rem;
	padding-bottom: 0.55rem;
}

.cart_totals table.cart-total tr.order-total th,
.cart_totals table.cart-total tr.order-total td {
	padding-top: 0.85rem;
	padding-bottom: 0.35rem;
	border-top: 1px solid #dae2e6 !important;
}

.cart_totals table.cart-total .bloom-checkout-totals__label,
.cart_totals table.cart-total tr.cart-discount th,
.cart_totals table.cart-total tr.fee th {
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
	color: #8a8b8e;
	text-transform: none;
}

.cart_totals table.cart-total tr.bloom-checkout-totals__row--detail td,
.cart_totals table.cart-total tr.cart-discount td,
.cart_totals table.cart-total tr.fee td {
	font-size: 13px;
	font-weight: 400;
	color: #8a8b8e;
}

.cart_totals table.cart-total tr.cart-subtotal th h4,
.cart_totals table.cart-total tr.cart-subtotal th {
	font-size: 14px;
	font-weight: 500;
	color: var(--porto-heading-color, #333);
}

.cart_totals table.cart-total tr.cart-subtotal td {
	font-size: 14px;
	font-weight: 500;
	color: var(--porto-heading-color, #333);
}

.cart_totals table.cart-total tr.order-total th h4,
.cart_totals table.cart-total tr.order-total th {
	font-size: 16px;
	font-weight: 600;
	color: var(--porto-heading-color, #222);
}

.cart_totals table.cart-total tr.order-total td {
	font-size: 18px;
	font-weight: 600;
	color: var(--porto-heading-color, #222);
}

/* Cart totals — CZS shipping fee notice */
.cart_totals .woocommerce-info {
	font-size: 11px;
	font-weight: 400;
	line-height: 1.35;
	padding: 4px 0 6px;
	margin: 0 0 0.5rem;
}

.cart_totals .card-sub-title + .woocommerce-info {
	margin-top: -0.15rem;
	margin-bottom: 0.45rem;
}

.cart_totals .woocommerce-info::before {
	font-size: 12px;
	top: 0;
	margin-right: 0.35rem;
}

.widget_shopping_cart .bloom-cart-meta,
.porto-sticky-navbar .bloom-cart-meta {
	font-size: 11px;
	line-height: 1.4;
}

.widget_shopping_cart .bloom-cart-meta__panel,
.porto-sticky-navbar .bloom-cart-meta__panel {
	padding: 0.45rem 0.55rem;
}

.widget_shopping_cart .bloom-cart-meta__heading,
.porto-sticky-navbar .bloom-cart-meta__heading {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #9aa0a6;
	margin-bottom: 0.2rem;
}

.widget_shopping_cart .bloom-cart-meta__line--mode,
.porto-sticky-navbar .bloom-cart-meta__line--mode {
	font-size: 13px;
	font-weight: 500;
	color: var(--porto-heading-color, #333);
}

.widget_shopping_cart .bloom-cart-meta__line--date,
.widget_shopping_cart .bloom-cart-meta__line--time,
.porto-sticky-navbar .bloom-cart-meta__line--date,
.porto-sticky-navbar .bloom-cart-meta__line--time {
	font-size: 12px;
	font-weight: 400;
	color: #8a8b8e;
}

.widget_shopping_cart .bloom-cart-meta__line--time,
.porto-sticky-navbar .bloom-cart-meta__line--time {
	margin-top: 0.05rem;
}

.widget_shopping_cart .bloom-cart-meta__addon-name,
.porto-sticky-navbar .bloom-cart-meta__addon-name {
	font-size: 10px;
}

/* Mini cart — typography hierarchy */
#mini-cart .total-count {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
}

#mini-cart .total-count a {
	font-size: 11px;
	font-weight: 600;
}

#mini-cart .product-details > a {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--porto-heading-color, #222);
}

#mini-cart .bloom-cart-item-variants {
	margin: 0.15rem 0 0.4rem;
}

#mini-cart .bloom-cart-item-variant {
	font-size: 12px;
	font-weight: 400;
	line-height: 1.35;
	color: #8a8b8e;
}

#mini-cart .bloom-cart-meta {
	margin-top: 0.35rem;
}

#mini-cart .bloom-cart-meta__section--fulfilment .bloom-cart-meta__line + .bloom-cart-meta__line {
	margin-top: 0.1rem;
}

#mini-cart .bloom-cart-meta__section--addon {
	margin-top: 0.15rem;
}

#mini-cart .bloom-cart-meta__section--addon .bloom-cart-meta__addon-row {
	padding: 0.2rem 0.35rem;
}

#mini-cart .bloom-cart-meta__section--addon .bloom-cart-meta__addon-name {
	font-size: 11px;
	font-weight: 400;
	line-height: 1.35;
}

#mini-cart .bloom-cart-meta__section--addon .bloom-cart-meta__addon-qty {
	font-size: 10px;
	min-width: 1.5rem;
}

#mini-cart .quantity,
#mini-cart .quantity .amount {
	font-size: 12px;
	font-weight: 400;
	color: #9aa0a6;
	margin-top: 0.35rem;
}

#mini-cart .woocommerce-mini-cart__total.total {
	font-size: 13px;
}

#mini-cart .woocommerce-mini-cart__total.total strong {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
}

#mini-cart .woocommerce-mini-cart__total.total .amount {
	font-size: 14px;
	font-weight: 600;
}

/* Cart line — quantity stack + Edit · Remove, larger thumbnail */
.cart-v2 .product-thumbnail .remove.remove-product {
	display: none !important;
}

.cart-v2 .product-thumbnail img {
	max-width: 152px;
	width: 152px;
	height: auto;
}

/* Cart table — room between price / quantity / subtotal */
@media (min-width: 768px) {
	.cart-v2 form.woocommerce-cart-form .shop_table.cart-table {
		table-layout: fixed;
		width: 100%;
	}

	.cart-v2 .shop_table.cart-table col.bloom-col-thumb {
		width: 12%;
	}

	.cart-v2 .shop_table.cart-table col.bloom-col-name {
		width: 34%;
	}

	.cart-v2 .shop_table.cart-table col.bloom-col-price {
		width: 18%;
	}

	.cart-v2 .shop_table.cart-table col.bloom-col-qty {
		width: 20%;
	}

	.cart-v2 .shop_table.cart-table col.bloom-col-subtotal {
		width: 18%;
	}

	.cart-v2 .shop_table.cart-table thead th,
	.cart-v2 .shop_table.cart-table tbody td {
		padding-top: 14px;
		padding-bottom: 14px;
	}

	.cart-v2 .shop_table.cart-table tbody td.product-name {
		vertical-align: top;
	}

	.cart-v2 .shop_table.cart-table tbody td.product-thumbnail,
	.cart-v2 .shop_table.cart-table tbody td.product-price,
	.cart-v2 .shop_table.cart-table tbody td.product-quantity,
	.cart-v2 .shop_table.cart-table tbody td.product-subtotal {
		vertical-align: middle;
	}

	.cart-v2 .shop_table.cart-table th.product-name,
	.cart-v2 .shop_table.cart-table td.product-name {
		padding-right: 1.75rem;
	}

	.cart-v2 .shop_table.cart-table th.product-price,
	.cart-v2 .shop_table.cart-table td.product-price {
		padding-left: 1.25rem;
		padding-right: 2.75rem;
		text-align: right !important;
	}

	.cart-v2 .shop_table.cart-table th.product-quantity,
	.cart-v2 .shop_table.cart-table td.product-quantity {
		padding-left: 2rem;
		padding-right: 2rem;
		text-align: center !important;
	}

	.cart-v2 .shop_table.cart-table th.product-subtotal,
	.cart-v2 .shop_table.cart-table td.product-subtotal {
		padding-left: 2.75rem;
		padding-right: 0.75rem;
		text-align: right !important;
	}

	.cart-v2 .shop_table.cart-table td.product-price .bloom-line-price,
	.cart-v2 .shop_table.cart-table td.product-subtotal .bloom-line-price {
		margin-left: auto;
		max-width: 9.5rem;
	}
}

@media (min-width: 1200px) {
	.cart-v2 .shop_table.cart-table col.bloom-col-name {
		width: 32%;
	}

	.cart-v2 .shop_table.cart-table col.bloom-col-price {
		width: 19%;
	}

	.cart-v2 .shop_table.cart-table col.bloom-col-qty {
		width: 21%;
	}

	.cart-v2 .shop_table.cart-table col.bloom-col-subtotal {
		width: 18%;
	}

	.cart-v2 .shop_table.cart-table th.product-price,
	.cart-v2 .shop_table.cart-table td.product-price {
		padding-right: 3.5rem;
	}

	.cart-v2 .shop_table.cart-table th.product-quantity,
	.cart-v2 .shop_table.cart-table td.product-quantity {
		padding-left: 2.5rem;
		padding-right: 2.5rem;
	}

	.cart-v2 .shop_table.cart-table th.product-subtotal,
	.cart-v2 .shop_table.cart-table td.product-subtotal {
		padding-left: 3.5rem;
	}
}

.bloom-cart-item-title {
	font-weight: 500;
	line-height: 1.4;
	margin-bottom: 0.2rem;
}

.bloom-cart-item-head .bloom-cart-item-title {
	margin-bottom: 0.15rem;
}

.bloom-cart-item-head .bloom-cart-item-variants {
	margin: 0;
}

.bloom-cart-item-head .bloom-cart-item-variant {
	margin: 0;
}

.bloom-cart-item-head .bloom-cart-item-variant + .bloom-cart-item-variant {
	margin-top: 0.1rem;
}

.bloom-cart-item-variants {
	margin: 0 0 0.45rem;
	padding: 0;
}

.bloom-cart-item-variant {
	margin: 0;
	font-size: 13px;
	line-height: 1.4;
	font-weight: 500;
	color: var(--porto-body-color, #777);
}

.bloom-cart-item-variants + .bloom-cart-meta {
	margin-top: 0;
}

.bloom-cart-item-title a {
	color: inherit;
	text-decoration: none;
}

.bloom-cart-item-title a:hover {
	color: var(--porto-primary-color, #b4892f);
}

.bloom-cart-quantity-stack {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
}

.bloom-cart-item-actions {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	gap: 0.25rem;
	font-size: 12px;
	line-height: 1.4;
	white-space: nowrap;
}

.bloom-cart-item-action {
	color: #8a8b8e;
	text-decoration: none;
	padding: 0.1rem 0.2rem;
	min-height: 32px;
	display: inline-flex;
	align-items: center;
}

.bloom-cart-item-action:hover,
.bloom-cart-item-action:focus {
	color: var(--porto-primary-color, #b4892f);
	text-decoration: underline;
}

.bloom-cart-item-action--remove:hover,
.bloom-cart-item-action--remove:focus {
	color: #b23b3b;
}

.bloom-cart-item-action-sep {
	color: #a8a8a8;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	padding: 0 0.2rem;
	user-select: none;
}

tr.cart_item.bloom-cart-row-updating {
	opacity: 0.55;
	pointer-events: none;
}

.product-name .wapf-edit-cartitem {
	display: none !important;
}

.cart-v2 td.product-name a.remove,
.cart-v2 td.product-name .bloom-cart-item-actions {
	display: none !important;
}

.cart-v2 .actions button[name="update_cart"] {
	display: none !important;
}

/* Cart + checkout — mobile compaction */
@media (max-width: 767px) {
	/* Progressive breadcrumb (cart / checkout) */
	.woo-page-header.page-header-8 {
		padding: 0.55rem 0 !important;
	}

	.page-header-8 .breadcrumb {
		margin-bottom: 0;
		padding: 0 0.5rem;
	}

	.page-header-8 li {
		line-height: 1.35 !important;
	}

	.page-header-8 li a {
		font-size: 0.78rem !important;
		font-weight: 600 !important;
		letter-spacing: -0.02em !important;
	}

	.page-header-8 li .delimiter.delimiter-2 {
		font-size: 0.95rem !important;
		margin: 0 0.4rem !important;
		line-height: 1.35 !important;
	}

	/* SeedRewards earn banner */
	.wlr-message-info.wlr_points_rewards_earn_points,
	td.wlr-message-info.wlr_points_rewards_earn_points {
		font-size: 11px !important;
		font-weight: 500 !important;
		line-height: 1.35 !important;
		padding: 0.35rem 0.6rem !important;
		margin: 0.35rem 0 !important;
		border-radius: 4px !important;
	}

	td.wlr-message-info.wlr_points_rewards_earn_points {
		padding: 0.45rem 0.6rem !important;
		text-align: left !important;
	}

	.wlr-message-info.wlr_points_rewards_earn_points p {
		margin: 0 !important;
		font-size: inherit !important;
		line-height: inherit !important;
		font-weight: inherit !important;
	}

	.wlr-message-info.wlr_points_rewards_earn_points .wlr-upload-img-icon,
	.wlr-message-info.wlr_points_rewards_earn_points img {
		width: 24px !important;
		height: 24px !important;
		max-width: 24px !important;
		margin: 0 0.4rem 0 0 !important;
	}

	.wlr-message-info.wlr_points_rewards_earn_points .wlrf-point,
	.wlr-message-info.wlr_points_rewards_earn_points .wlr-icon {
		font-size: 16px !important;
		width: auto !important;
		height: auto !important;
		margin: 0 0.35rem 0 0 !important;
	}

	/* Checkout form */
	form.woocommerce-checkout h3 {
		font-size: 17px !important;
		line-height: 1.3 !important;
		margin-bottom: 0.6rem !important;
	}

	.woocommerce-checkout .form-row label {
		font-size: 12px;
		margin-bottom: 0.2rem;
	}

	.woocommerce-checkout .input-text,
	.woocommerce-checkout textarea,
	.woocommerce-checkout select {
		font-size: 13px;
		padding-top: 0.45rem;
		padding-bottom: 0.45rem;
	}

	.woocommerce-checkout .select2-container {
		height: 42px !important;
		font-size: 13px;
	}

	.woocommerce-checkout .select2-container .select2-selection--single {
		height: 42px !important;
	}

	.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
		padding: 8px 10px;
		line-height: 1.3;
	}

	/* Checkout order review */
	.checkout-order-review .featured-boxes {
		padding: 0.85rem 0.75rem !important;
	}

	.checkout-order-review .card-header h3,
	.checkout-order-review .checkout-order-review-title {
		font-size: 15px !important;
		line-height: 1.3 !important;
	}

	.checkout-order-review .shop_table .product-thumbnail img {
		max-width: 48px !important;
		width: 48px;
	}

	.checkout-order-review .product-thumbnail {
		margin-right: 0.55rem !important;
	}

	.checkout-order-review .product-name {
		font-size: 13px !important;
		line-height: 1.35 !important;
		padding-right: 1.4rem !important;
	}

	.checkout-order-review .product-quantity {
		font-size: 12px !important;
	}

	.checkout-order-review .bloom-cart-item-variant {
		font-size: 10px;
		line-height: 1.3;
	}

	.checkout-order-review .bloom-cart-meta {
		font-size: 10px;
		margin-top: 0.3rem;
	}

	.checkout-order-review .bloom-cart-meta__panel {
		padding: 0.38rem 0.48rem;
	}

	.checkout-order-review .bloom-cart-meta__heading {
		font-size: 9px;
		margin-bottom: 0.2rem;
	}

	.checkout-order-review .bloom-cart-meta__addon-name {
		font-size: 9px;
	}

	.checkout-order-review .woocommerce-checkout-review-order-table thead h4 {
		font-size: 13px !important;
	}

	.checkout-order-review .woocommerce-checkout-review-order-table .shop_table td {
		padding: 8px 6px;
	}

	.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th h4 {
		font-size: 12px !important;
	}

	.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td {
		font-size: 12px !important;
	}

	.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.order-total th h4 {
		font-size: 14px !important;
	}

	.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.order-total td {
		font-size: 15px !important;
	}

	.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.bloom-checkout-totals__row--detail th,
	.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.bloom-checkout-totals__row--detail td {
		font-size: 11px !important;
	}

	.checkout-order-review .woocommerce-checkout-review-order-table .bloom-checkout-totals__label {
		font-size: 11px !important;
	}

	.checkout-order-review .product-price.bloom-checkout-product-price {
		margin-top: 0.35rem;
	}

	.checkout-order-review .product-price.bloom-checkout-product-price .product-total {
		font-size: 13px;
		line-height: 1.3;
	}

	/* Cart page — mobile layout (Porto stacks .responsive tables below 768px) */
	.cart-v2 > .row {
		margin-bottom: 1.5rem !important;
		padding-bottom: 0 !important;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table {
		border-top-width: 3px;
		border-bottom: none;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: 0.5rem;
		row-gap: 0.4rem;
		padding: 0.85rem 0.75rem 1rem;
		align-items: start;
		text-align: left;
		border-bottom: none !important;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item:first-child {
		border-top: none !important;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item:not(:last-of-type) {
		padding-bottom: 1rem;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item + tr.cart_item {
		margin-top: 0;
		border-top: 1px solid var(--porto-gray-5, #dedede) !important;
		padding-top: 1rem;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item > td {
		display: block;
		width: 100%;
		padding: 0 !important;
		text-align: left !important;
		border: none;
		align-self: start;
		min-width: 0;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item > td.product-thumbnail {
		grid-column: 1;
		grid-row: 1;
		justify-self: start;
		align-self: center;
		width: auto;
		max-width: 100%;
		padding-right: 0 !important;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item > td.product-name {
		display: contents;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item .bloom-cart-item-head {
		grid-column: 2 / 4;
		grid-row: 1;
		min-width: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-self: center;
		gap: 0.15rem;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item .bloom-cart-item-head .wapf-edit-cartitem {
		display: none !important;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item .bloom-cart-meta,
	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item td.product-name .variation,
	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item td.product-name .backorder_notification {
		grid-column: 1 / -1;
		grid-row: 2;
		width: 100%;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item:has(.bloom-cart-item-variants) td.product-name .variation {
		display: none;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item .bloom-cart-meta {
		margin-top: 0.1rem;
		padding-top: 0;
		border-top: none;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item > td.product-price,
	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item > td.product-quantity,
	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item > td.product-subtotal {
		padding-top: 0.45rem !important;
		border-top: none;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item > td.product-price {
		grid-column: 1;
		grid-row: 3;
		text-align: left !important;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item > td.product-quantity {
		grid-column: 2;
		grid-row: 3;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		text-align: center !important;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item > td.product-subtotal {
		grid-column: 3;
		grid-row: 3;
		text-align: right !important;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item > td.product-quantity .bloom-cart-quantity-stack {
		margin-left: auto;
		margin-right: auto;
		width: 100%;
		max-width: 9.5rem;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item > td.product-name::before {
		display: none;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item > td.product-price::before,
	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item > td.product-quantity::before,
	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item > td.product-subtotal::before {
		content: attr(data-title);
		display: block;
		margin-bottom: 0.25rem;
		font-size: 9px;
		font-weight: 600;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		color: #9aa0a6;
		line-height: 1.2;
	}

	.cart-v2 .product-thumbnail img {
		max-width: 84px;
		width: 84px;
	}

	.bloom-cart-item-title {
		font-size: 14px;
		line-height: 1.35;
		margin-bottom: 0;
	}

	.bloom-cart-item-variants {
		margin: 0;
	}

	.bloom-cart-item-variant {
		font-size: 12px;
		line-height: 1.4;
		margin: 0;
		display: block;
	}

	.woocommerce-cart-form .bloom-cart-meta {
		margin-top: 0;
		font-size: 10px;
	}

	.woocommerce-cart-form .bloom-cart-meta__panel {
		padding: 0.38rem 0.48rem;
	}

	.woocommerce-cart-form .bloom-cart-meta__heading {
		font-size: 9px;
	}

	.woocommerce-cart-form .bloom-cart-meta__addon-name {
		font-size: 9px;
	}

	.cart-v2 .shop_table.cart-table .quantity .qty,
	.cart-v2 .shop_table.cart-table .quantity .minus,
	.cart-v2 .shop_table.cart-table .quantity .plus {
		height: 2.65rem;
	}

	.cart-v2 .shop_table.cart-table .quantity .minus,
	.cart-v2 .shop_table.cart-table .quantity .plus {
		width: 2.35rem;
		min-width: 2.35rem;
		font-size: 1.05rem;
		line-height: 1;
	}

	.cart-v2 .shop_table.cart-table .quantity .qty {
		width: 2.75rem;
		min-width: 2.75rem;
		font-size: 0.95rem;
	}

	.cart-v2 .shop_table.cart-table .quantity {
		width: 100%;
		max-width: 9.5rem;
	}

	.cart-v2 td.product-price .bloom-line-price {
		align-items: flex-start;
		text-align: left;
		max-width: 100%;
		width: 100%;
	}

	.cart-v2 td.product-price .bloom-line-price__base,
	.cart-v2 td.product-subtotal .bloom-line-price__base {
		font-size: 0.92em;
		line-height: 1.25;
	}

	.cart-v2 td.product-price .bloom-line-price__addons,
	.cart-v2 td.product-subtotal .bloom-line-price__addons {
		font-size: 0.68em;
		line-height: 1.25;
		max-width: 100%;
		word-break: break-word;
	}

	.cart-v2 td.product-subtotal .bloom-line-price {
		align-items: flex-end;
		text-align: right;
		margin-left: auto;
		max-width: 100%;
		width: 100%;
	}

	.cart-v2 .bloom-cart-quantity-stack {
		width: 100%;
	}

	.cart-v2 .bloom-cart-item-actions {
		font-size: 11px;
		min-height: 0;
	}

	.cart-v2 .bloom-cart-item-action {
		min-height: 24px;
		padding: 0;
	}

	.cart-v2 .shop_table.responsive.cart-table tbody td.actions {
		padding: 0.55rem 0.7rem 0.65rem !important;
		text-align: left !important;
		border-top: none !important;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr:has(> td.actions) {
		border-top: none !important;
		padding: 0 !important;
	}

	.cart-v2 .shop_table.responsive.cart-table tbody td.actions .coupon {
		width: 100%;
	}

	.cart-v2 .shop_table.responsive.cart-table tbody td.actions #coupon_code {
		width: 100%;
		max-width: none;
		margin-bottom: 0.5rem;
	}

	.cart-v2 .cart-collaterals {
		margin-top: 0.75rem;
		padding-top: 0;
		border-top: none;
	}

	.cart-v2 .cart_totals .card-default {
		padding: 0.85rem 0.7rem;
	}

	.cart-v2 .cart_totals .card-sub-title {
		font-size: 13px;
		margin-bottom: 0.35rem !important;
		padding-bottom: 0 !important;
	}

	/* Porto stacks .responsive tables on mobile — keep cart totals as a compact table */
	.cart-v2 .cart_totals table.responsive.cart-total {
		border: none;
		box-shadow: none;
		margin-bottom: 0;
	}

	.cart-v2 .cart_totals table.responsive.cart-total tbody tr {
		display: table-row;
		padding: 0;
		border-top: none;
	}

	.cart-v2 .cart_totals table.responsive.cart-total tbody tr.bloom-cart-totals-hook-row:empty,
	.cart-v2 .cart_totals table.responsive.cart-total tbody tr.bloom-cart-totals-hook-row th:empty {
		display: none;
	}

	.cart-v2 .cart_totals table.responsive.cart-total tbody th,
	.cart-v2 .cart_totals table.responsive.cart-total tbody td {
		display: table-cell;
		width: auto;
		padding: 0.35rem 0;
		text-align: left !important;
		border: none;
	}

	.cart-v2 .cart_totals table.responsive.cart-total tbody td:last-child {
		text-align: right !important;
		white-space: nowrap;
	}

	.cart-v2 .cart_totals .card-default tbody tr {
		border-bottom: none;
	}

	.cart_totals table.cart-total tr.cart-subtotal th,
	.cart_totals table.cart-total tr.cart-subtotal td {
		padding-top: 0.25rem;
		padding-bottom: 0.25rem;
	}

	.cart_totals table.cart-total tr.order-total th,
	.cart_totals table.cart-total tr.order-total td {
		padding-top: 0.45rem;
		padding-bottom: 0.15rem;
		border-top: 1px solid #dae2e6 !important;
	}

	.cart_totals table.cart-total tr.bloom-checkout-totals__row--detail th,
	.cart_totals table.cart-total tr.bloom-checkout-totals__row--detail td {
		padding-top: 0.2rem;
		padding-bottom: 0.2rem;
	}

	.cart-v2 .cart_totals .wc-proceed-to-checkout {
		margin-top: 0.45rem;
		margin-bottom: 0.35rem;
	}

	.cart-v2 .cart_totals .wc-proceed-to-checkout .checkout-button,
	.cart-v2 .cart_totals .wc-proceed-to-checkout .btn {
		padding-top: 0.65rem;
		padding-bottom: 0.65rem;
		font-size: 13px;
		margin-bottom: 0;
	}

	.cart_totals .card-sub-title + .woocommerce-info {
		margin-top: 0;
		margin-bottom: 0.35rem;
	}

	.cart_totals table.cart-total tr.cart-subtotal th h4,
	.cart_totals table.cart-total tr.cart-subtotal th {
		font-size: 12px;
	}

	.cart_totals table.cart-total tr.cart-subtotal td {
		font-size: 12px;
	}

	.cart_totals table.cart-total tr.order-total th h4,
	.cart_totals table.cart-total tr.order-total th {
		font-size: 14px;
	}

	.cart_totals table.cart-total tr.order-total td {
		font-size: 15px;
	}

	.cart-v2 .cart_totals table.cart-total tr.order-total .amount {
		font-size: inherit;
		font-weight: inherit;
	}

	.cart_totals table.cart-total tr.bloom-checkout-totals__row--detail th {
		min-width: 0;
		white-space: normal;
		padding-right: 0.45rem;
	}

	.cart_totals .woocommerce-info {
		font-size: 10px;
		line-height: 1.3;
	}

	.cart_totals .woocommerce-info::before {
		font-size: 11px;
	}
}

@media (max-width: 575px) {
	.bloom-cart-meta__addon-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.25rem;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item {
		padding: 0.75rem 0.7rem 1rem;
		row-gap: 0.35rem;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item:not(:last-of-type) {
		padding-bottom: 0.9rem;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item + tr.cart_item {
		padding-top: 0.9rem;
	}

	.cart-v2 .product-thumbnail img {
		max-width: 80px;
		width: 80px;
	}

	.bloom-cart-item-title {
		font-size: 13px;
	}

	.bloom-cart-item-variant {
		font-size: 11px;
	}

	.woocommerce-cart-form .bloom-cart-meta {
		font-size: 9px;
	}

	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item > td.product-price::before,
	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item > td.product-quantity::before,
	.cart-v2 .woocommerce-cart-form .shop_table.responsive.cart-table tbody tr.cart_item > td.product-subtotal::before {
		font-size: 8px;
	}

	.page-header-8 li a {
		font-size: 0.72rem !important;
	}

	.page-header-8 li .delimiter.delimiter-2 {
		font-size: 0.85rem !important;
		margin: 0 0.3rem !important;
	}

	.wlr-message-info.wlr_points_rewards_earn_points,
	td.wlr-message-info.wlr_points_rewards_earn_points {
		font-size: 10px !important;
		padding: 0.3rem 0.5rem !important;
	}

	.wlr-message-info.wlr_points_rewards_earn_points .wlr-upload-img-icon,
	.wlr-message-info.wlr_points_rewards_earn_points img {
		width: 20px !important;
		height: 20px !important;
		max-width: 20px !important;
	}

	form.woocommerce-checkout h3 {
		font-size: 16px !important;
	}

	.checkout-order-review .featured-boxes {
		padding: 0.7rem 0.6rem !important;
	}

	.checkout-order-review .shop_table .product-thumbnail img {
		max-width: 42px !important;
		width: 42px;
	}

	.checkout-order-review .product-name {
		font-size: 12px !important;
	}

	.cart_totals table.cart-total tr.bloom-checkout-totals__row--detail th,
	.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.bloom-checkout-totals__row--detail th {
		padding-right: 0.4rem;
	}

	.checkout-order-review .woocommerce-checkout-review-order-table .bloom-checkout-totals__label,
	.cart_totals table.cart-total .bloom-checkout-totals__label {
		font-size: 11px;
		line-height: 1.2;
	}

	.checkout-order-review .woocommerce-checkout-review-order-table tfoot tr.bloom-checkout-totals__row--detail td,
	.cart_totals table.cart-total tr.bloom-checkout-totals__row--detail td {
		font-size: 11px;
	}

	.bloom-cart-meta__panel {
		padding: 0.45rem 0.5rem;
	}

	.bloom-cart-meta__addon-row {
		padding: 0.25rem 0.35rem;
	}
}
