.irfas-cart {
	--irfas-cart-bg: #ffffff;
	--irfas-cart-text: #2c3034;
	--irfas-cart-muted: #73787f;
	--irfas-cart-line: #e5e2dc;
	--irfas-cart-head-bg: #f4f1ed;
	--irfas-cart-field-bg: #fbfaf8;
	--irfas-cart-summary-bg: #f3f8ea;
	--irfas-cart-summary-line: #d7e4c3;
	--irfas-cart-brand: #78b24c;
	--irfas-cart-brand-hover: #63953d;
	font-family: Manrope, Tahoma, Verdana, "Segoe UI", Roboto, Arial, sans-serif;
	font-size: 15px;
	line-height: 1.45;
	color: var(--irfas-cart-text);
}

.irfas-cart__form {
	display: grid;
	gap: 22px;
}

.irfas-cart__table {
	border: 1px solid var(--irfas-cart-line);
	border-radius: 16px;
	background: var(--irfas-cart-bg);
	overflow: hidden;
}

.irfas-cart__items {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: var(--irfas-cart-bg);
}

.irfas-cart__items th,
.irfas-cart__items td {
	padding: 14px 16px;
	border-bottom: 1px solid var(--irfas-cart-line);
	text-align: left;
	vertical-align: middle;
}

.irfas-cart__items th {
	background: var(--irfas-cart-head-bg);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #5f6369;
}

.irfas-cart__items tr:last-child td {
	border-bottom: 0;
}

.irfas-cart__items .product-remove {
	width: 42px;
	text-align: center;
}

.irfas-cart__items .product-remove .remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #edeae7;
	color: #3e4348;
	text-decoration: none;
	font-size: 18px;
	font-weight: 600;
	transition: background 0.2s ease, color 0.2s ease;
}

.irfas-cart__items .product-remove .remove:hover {
	background: #dfd9d3;
	color: #1f2327;
}

.irfas-cart__items .product-thumbnail img {
	width: 78px;
	height: 78px;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid var(--irfas-cart-line);
	background: #fff;
}

.irfas-cart__items .product-name a {
	color: #1f2327;
	font-weight: 700;
	text-decoration: none;
}

.irfas-cart__items .product-name a:hover {
	color: #5a6f42;
}

.irfas-cart__items .product-price,
.irfas-cart__items .product-subtotal {
	font-weight: 700;
	color: #30353a;
}

.irfas-cart__items .product-quantity input.qty {
	width: 74px;
	height: 38px;
	border: 1px solid #d9d4cd;
	border-radius: 10px;
	background: var(--irfas-cart-field-bg);
}

.irfas-cart__side {
	display: block;
}

.irfas-cart__request-stack {
	display: grid;
	gap: 14px;
	max-width: 860px;
}

.irfas-cart__totals {
	width: 100%;
}

.irfas-cart__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 14px;
	border: 1px solid var(--irfas-cart-summary-line);
	border-radius: 14px;
	background: var(--irfas-cart-summary-bg);
	box-shadow: 0 10px 24px rgba(101, 130, 64, 0.08);
}

.irfas-cart__summary-main {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.irfas-cart__summary-title {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #657057;
	font-weight: 700;
}

.irfas-cart__summary-value {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	font-size: 26px;
	font-weight: 800;
	line-height: 1;
	color: #1f3324;
}

.irfas-cart__summary-value .woocommerce-Price-currencySymbol {
	font-size: 0.78em;
}

.irfas-cart__summary-action {
	flex: 0 0 auto;
}

.irfas-cart__request-card,
.irfas-cart__request {
	border: 1px solid var(--irfas-cart-line);
	border-radius: 14px;
	padding: 16px;
	background: var(--irfas-cart-bg);
}

.irfas-cart__request {
	display: grid;
	gap: 16px;
}

.irfas-cart__section-title {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin: 0 0 10px;
	color: #646970;
}

.irfas-cart__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 14px;
}

.irfas-cart__field label {
	display: block;
	font-size: 12px;
	color: var(--irfas-cart-muted);
	margin-bottom: 6px;
}

.irfas-cart__field input,
.irfas-cart__field textarea {
	width: 100%;
	border: 1px solid #d8d4ce;
	border-radius: 10px;
	padding: 10px 12px;
	font-size: 14px;
	background: var(--irfas-cart-field-bg);
	color: #1f2327;
}

.irfas-cart__field input:focus,
.irfas-cart__field textarea:focus {
	outline: none;
	border-color: #a9c48a;
	box-shadow: 0 0 0 2px rgba(120, 178, 76, 0.15);
}

.irfas-cart__field--full {
	grid-column: 1 / -1;
}

.irfas-cart__options {
	display: grid;
	gap: 8px;
}

.irfas-cart__radio,
.irfas-cart__switch {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: #32373c;
}

.irfas-cart__radio input,
.irfas-cart__switch input {
	accent-color: var(--irfas-cart-brand);
}

.irfas-cart__submit,
.irfas-cart__submit--totals {
	display: flex;
	justify-content: flex-start;
}

.irfas-cart__submit-button {
	min-height: 44px;
	padding: 10px 22px;
	border: 0;
	border-radius: 12px;
	background: var(--irfas-cart-brand);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.01em;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}

.irfas-cart__submit-button:hover {
	background: var(--irfas-cart-brand-hover);
	transform: translateY(-1px);
}

.irfas-cart__submit-button:active {
	transform: translateY(0);
}

.irfas-cart__empty {
	padding: 10px 0;
	color: var(--irfas-cart-muted);
}

@media (max-width: 768px) {
	.irfas-cart__items {
		display: block;
	}

	.irfas-cart__items thead {
		display: none;
	}

	.irfas-cart__items tbody,
	.irfas-cart__items tr {
		display: block;
	}

	.irfas-cart__items tr {
		border-bottom: 1px solid var(--irfas-cart-line);
		padding: 6px 12px;
	}

	.irfas-cart__items tr:last-child {
		border-bottom: 0;
	}

	.irfas-cart__items td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 12px;
		padding: 8px 0;
		border-bottom: 0;
	}

	.irfas-cart__items td:before {
		content: attr(data-title);
		color: #7a8087;
		font-size: 11px;
		text-transform: uppercase;
		letter-spacing: 0.04em;
	}

	.irfas-cart__summary {
		flex-direction: column;
		align-items: stretch;
	}

	.irfas-cart__summary-action,
	.irfas-cart__summary-action .irfas-cart__submit-button,
	.irfas-cart__submit,
	.irfas-cart__submit--totals,
	.irfas-cart__submit-button {
		width: 100%;
	}

	.irfas-cart__summary-value {
		font-size: 24px;
	}

	.irfas-cart__grid {
		grid-template-columns: 1fr;
	}
}
