/**
 * Shirley May - Cart Page Styles
 *
 * WooCommerce Cart page overrides. Table views, totals checkout widgets, forms.
 *
 * @package ShirleyMay
 */

/* Cart Main Container */
.cart-page-container {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--spacing-xl);
	margin-top: var(--spacing-lg);
}

@media (min-width: 992px) {
	.cart-page-container {
		grid-template-columns: 1.2fr 0.8fr;
	}
}

/* Cart Table Layout */
.shop_table.cart {
	width: 100%;
	border-collapse: collapse;
	text-align: left;
}

.shop_table.cart th {
	padding: var(--spacing-sm) 0;
	font-family: var(--font-body);
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--color-black);
	border-bottom: 2px solid var(--color-light-gray);
}

.shop_table.cart td {
	padding: var(--spacing-md) 0;
	border-bottom: 1px solid var(--glass-border);
	vertical-align: middle;
}

.cart_item__thumbnail img {
	width: 70px;
	height: 84px;
	object-fit: contain;
	border: 1px solid var(--glass-border);
}

.cart_item__name {
	font-family: var(--font-headings);
	font-size: 1.05rem;
}

/* Persistent, high-contrast confirmation for complimentary offer items. */
.sm-free-gift-notice {
	display: flex;
	align-items: center;
	gap: 9px;
	width: fit-content;
	margin-top: 10px;
	padding: 7px 10px;
	border: 1px solid #16804a;
	border-radius: 4px;
	background: #e9f8ef;
	color: #0d6135;
	font-family: var(--font-body);
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.3;
}

.sm-free-gift-notice strong {
	padding: 3px 6px;
	border-radius: 3px;
	background: #0d6135;
	color: #fff;
	font-size: 0.7rem;
	letter-spacing: 0.07em;
}

.cart_item__price,
.cart_item__subtotal {
	font-family: var(--font-body);
	color: var(--color-black);
	font-size: 0.95rem;
}

.cart_item__remove a {
	color: var(--color-text-muted);
	font-size: 1.2rem;
	transition: color var(--transition-fast);
}

.cart_item__remove a:hover {
	color: var(--color-error);
}

/* Cart Actions (Coupon & Update) */
.cart-actions-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: var(--spacing-md) 0;
	flex-wrap: wrap;
	gap: var(--spacing-md);
}

.coupon-form-inline {
	display: flex;
	gap: var(--spacing-xs);
	max-width: 380px;
}

.coupon-form-inline input {
	height: 45px;
}

.coupon-form-inline .btn {
	height: 45px;
	padding: 0 var(--spacing-md);
}

/* Cart Totals Panel */
.cart-collaterals {
	background: #f8fafd;
	border: 1px solid var(--glass-border);
	padding: var(--spacing-lg);
	box-shadow: var(--shadow-premium);
}

.cart-collaterals h2 {
	font-family: var(--font-headings);
	font-size: 1.4rem;
	margin-bottom: var(--spacing-md);
	border-bottom: 1px solid var(--glass-border);
	padding-bottom: var(--spacing-xs);
}

.cart-totals-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: var(--spacing-lg);
}

.cart-totals-table tr {
	border-bottom: 1px solid var(--glass-border);
}

.cart-totals-table th,
.cart-totals-table td {
	padding: var(--spacing-sm) 0;
	font-size: 0.9rem;
}

.cart-totals-table th {
	font-weight: 500;
	text-align: left;
	color: var(--color-text-muted);
}

.cart-totals-table td {
	text-align: right;
	color: var(--color-black);
}

.cart-totals-table tr.order-total th,
.cart-totals-table tr.order-total td {
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--color-accent);
}

.checkout-button-wrapper .btn {
	width: 100%;
	height: 50px;
}
