/* ==========================================================================
   FormRig Cart — charcoal dark theme, colour swatches
   ========================================================================== */

/* Override WooCommerce's alternating row colours */
.woocommerce-cart table.shop_table,
.woocommerce-cart table.shop_table tbody tr,
.woocommerce-cart table.shop_table tbody tr:nth-child(odd),
.woocommerce-cart table.shop_table tbody tr:nth-child(even),
.woocommerce-cart table.shop_table tbody tr td {
	background-color: #2A2A2A !important;
	color: #F6F6F2 !important;
	border-color: rgba(255,255,255,0.07) !important;
}

.woocommerce-cart table.shop_table {
	border-collapse: collapse;
	border: 1px solid rgba(255,255,255,0.07);
	border-radius: 10px;
	overflow: hidden;
}

.woocommerce-cart table.shop_table thead tr th {
	background-color: #1A1A1A !important;
	color: #9A9A96 !important;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border-color: rgba(255,255,255,0.07) !important;
}

.woocommerce-cart table.shop_table .product-name {
	color: #F6F6F2 !important;
	font-weight: 600;
}

.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal {
	color: #F4600C !important;
	font-weight: 700;
}

/* Remove button */
.woocommerce-cart table.shop_table .product-remove a.remove {
	color: #9A9A96 !important;
}
.woocommerce-cart table.shop_table .product-remove a.remove:hover {
	color: #F4600C !important;
	background: transparent !important;
}

/* Quantity input */
.woocommerce-cart table.shop_table .product-quantity input {
	background: #1A1A1A !important;
	border: 1px solid rgba(255,255,255,0.12) !important;
	color: #F6F6F2 !important;
	border-radius: 6px;
	text-align: center;
}

/* Cart actions row */
.woocommerce-cart table.shop_table .actions,
.woocommerce-cart table.shop_table td.actions {
	background-color: #222222 !important;
	border-color: rgba(255,255,255,0.07) !important;
}

/* Hide Update Cart button — live updates happen automatically */
.woocommerce-cart button[name="update_cart"] {
	display: none !important;
}

/* Suppress WooCommerce's cart blocking overlay */
.woocommerce-cart .blockOverlay,
.woocommerce-cart-form .blockOverlay {
	display: none !important;
	pointer-events: none !important;
}

/* Coupon widget (in totals column) */
.formrig-coupon-wrap {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(255,255,255,0.07);
}

.formrig-coupon-wrap .coupon {
	display: flex;
	gap: 8px;
	align-items: center;
}

.formrig-coupon-wrap label {
	display: none; /* Hide "coupon code" label — input placeholder is enough */
}

.formrig-coupon-wrap input[type="text"],
.woocommerce-cart .coupon input[type="text"] {
	flex: 1;
	background: #1A1A1A !important;
	border: 1px solid rgba(255,255,255,0.12) !important;
	color: #F6F6F2 !important;
	border-radius: 6px;
	padding: 9px 12px;
	font-size: 0.85rem;
}

.formrig-coupon-wrap input[type="submit"] {
	background: linear-gradient(180deg, rgba(255,255,255,0.1) 0%, transparent 55%), #F4600C !important;
	color: #fff !important;
	border: 1px solid #D14E08 !important;
	border-radius: 6px !important;
	padding: 9px 16px !important;
	font-size: 0.85rem !important;
	font-weight: 600 !important;
	cursor: pointer;
	white-space: nowrap;
}

/* ---- Empty cart page ---- */
.formrig-cart-empty {
	text-align: center;
	padding: 80px 24px;
	max-width: 480px;
	margin: 0 auto;
}

.formrig-cart-empty__message {
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--frig-text, #F4F4F0);
	margin-bottom: 10px;
}

.formrig-cart-empty__sub {
	font-size: 0.95rem;
	color: var(--frig-text-muted, #C8C6C0);
	margin-bottom: 32px;
	line-height: 1.6;
}

.formrig-cart-empty__actions {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
}

/* ---- Cart layout: table full-width, collaterals below with totals on right ---- */
.woocommerce-cart .woocommerce {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

/* Notices full width */
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
	width: 100%;
}

/* Cart form full width */
.woocommerce-cart form.woocommerce-cart-form {
	width: 100%;
}

/* Collaterals row: coupon(left) + totals(right) */
.woocommerce-cart .cart-collaterals {
	display: flex;
	justify-content: flex-end;
	gap: 24px;
	align-items: flex-start;
}

/* Coupon section (injected by JS into collaterals) */
.formrig-coupon-wrap {
	flex: 1;
	max-width: 340px;
}

/* Cart totals on right */
.woocommerce-cart .cart_totals {
	width: 340px;
	flex-shrink: 0;
	background: #2A2A2A;
	border: 1px solid rgba(255,255,255,0.07);
	border-radius: 10px;
	padding: 28px;
}

@media ( max-width: 768px ) {
	.woocommerce-cart .cart-collaterals {
		flex-direction: column;
	}
	.woocommerce-cart .cart_totals,
	.formrig-coupon-wrap {
		width: 100%;
		max-width: 100%;
	}
}

.woocommerce-cart .cart_totals h2 {
	color: #F6F6F2;
	font-size: 1.1rem;
	margin-bottom: 18px;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
	background: transparent !important;
	color: #D4D2CC !important;
	border-color: rgba(255,255,255,0.07) !important;
	font-size: 0.92rem;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
	color: #F6F6F2 !important;
	font-weight: 700;
}

/* Checkout button */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	background: linear-gradient(180deg, rgba(255,255,255,0.12) 0%, transparent 55%), #F4600C !important;
	color: #fff !important;
	border: 1px solid #D14E08 !important;
	border-radius: 6px !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	padding: 14px 28px !important;
	box-shadow: 0 2px 8px rgba(244,96,12,0.4) !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
	background: linear-gradient(180deg, rgba(255,255,255,0.12) 0%, transparent 55%), #D14E08 !important;
	box-shadow: 0 4px 20px rgba(244,96,12,0.5) !important;
}

/* WooCommerce notices */
.woocommerce-message,
.woocommerce-info {
	background: #2A2A2A !important;
	border-top-color: #F4600C !important;
	color: #F6F6F2 !important;
}

/* --------------------------------------------------------------------------
   Inline colour swatches + base dropdown in cart
   -------------------------------------------------------------------------- */

.formrig-cart-colours {
	margin-top: 10px;
}

.formrig-cart-base-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(255,255,255,0.06);
}

.formrig-cart-base-row .formrig-cart-group__label {
	min-width: 80px;
}

.formrig-cart-base-select {
	flex: 1;
	max-width: 200px;
	padding: 6px 28px 6px 10px;
	background: #1A1A1A;
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 6px;
	color: #F6F6F2;
	font-size: 0.8rem;
	font-family: inherit;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888882' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 8px center;
	cursor: pointer;
	transition: border-color 150ms ease;
}

.formrig-cart-base-select:focus {
	outline: none;
	border-color: rgba(244,96,12,0.5);
}

.formrig-cart-base-select option {
	background: #1A1A1A;
	color: #F6F6F2;
}

/* Saving indicator */
.formrig-cart-base-saving {
	font-size: 0.7rem;
	color: #F4600C;
	margin-left: 6px;
	display: none;
}
.formrig-cart-base-saving.is-visible { display: inline; }

.formrig-cart-group {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
}

.formrig-cart-group__label {
	font-size: 0.7rem;
	font-weight: 600;
	color: #9A9A96;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	min-width: 80px;
	flex-shrink: 0;
}

.formrig-cart-swatches {
	display: flex;
	gap: 6px;
}

.formrig-cart-swatch {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 2px solid transparent;
	cursor: pointer;
	transition: transform 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
	padding: 0;
}

.formrig-cart-swatch:hover {
	transform: scale(1.2);
	border-color: #F4600C !important;
	box-shadow: 0 0 0 2px rgba(244,96,12,0.3);
}

.formrig-cart-swatch.is-selected {
	border-color: #F4600C !important;
	box-shadow: 0 0 0 2px rgba(244,96,12,0.4);
	transform: scale(1.15);
}

.formrig-cart-swatch--black  { background: #2A2A2A; border-color: rgba(255,255,255,0.25); }
.formrig-cart-swatch--white  { background: #F0F0EC; border-color: rgba(255,255,255,0.35); }
.formrig-cart-swatch--orange { background: #F4600C; border-color: rgba(244,96,12,0.5); box-shadow: 0 0 6px rgba(244,96,12,0.3); }

.formrig-cart-swatch.is-updating {
	opacity: 0.5;
	cursor: wait;
	transform: none !important;
}

/* --------------------------------------------------------------------------
   Checkout order summary — customer's chosen options
   Block checkout renders selections via the Store API as a
   .wc-block-components-product-details list; the classic template uses
   .formrig-checkout-meta. Style both as a clean accented card.
   -------------------------------------------------------------------------- */

/* ---- Block checkout (Store API item_data) ---- */
.wc-block-components-order-summary-item .wc-block-components-product-details {
	list-style: none;
	margin: 8px 0 0;
	padding: 8px 12px;
	display: flex;
	flex-direction: column;
	gap: 5px;
	background: #1A1A1A;
	border: 1px solid rgba(255,255,255,0.08);
	border-left: 3px solid #F4600C;
	border-radius: 8px;
}

.wc-block-components-order-summary-item .wc-block-components-product-details__item {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	margin: 0;
	padding: 0;
}

.wc-block-components-order-summary-item .wc-block-components-product-details__name {
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #9A9A96;
	font-style: normal;
	margin: 0;
}

.wc-block-components-order-summary-item .wc-block-components-product-details__value {
	font-size: 0.82rem;
	font-weight: 600;
	color: #F6F6F2;
	text-align: right;
	font-style: normal;
	margin: 0;
}

/* ---- Classic checkout fallback (.formrig-checkout-meta) ---- */
.formrig-checkout-meta {
	margin-top: 8px;
	padding: 8px 12px;
	background: #1A1A1A;
	border: 1px solid rgba(255,255,255,0.08);
	border-left: 3px solid #F4600C;
	border-radius: 8px;
	font-size: 0.82rem;
	line-height: 1.9;
	color: #F6F6F2;
}

.formrig-checkout-meta strong {
	color: #9A9A96;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 0.66rem;
	letter-spacing: 0.06em;
	margin-right: 4px;
}
