/*
 * COYOTE Cart Page CSS v1.0.7
 *
 * Scope:
 * - WooCommerce cart page only.
 * - WPCode CSS snippet full replacement.
 *
 * This version separates PC and mobile layout rules.
 * Shared rules are limited to tokens, typography, small controls, and safe resets.
 *
 * Spacing rule:
 * - Page / section outside spacing: padding.
 * - Item spacing: gap.
 * - Card inside spacing: padding.
 * - Margin only for local separation.
 *
 * v1.0.6:
 * - PCのクーポンコード入力欄を広げる。
 * - PCのクーポン行をflexで安定させ、更新ボタンとの余白を維持。
 * - スマホの現状レイアウトは維持。
 *
 * v1.0.7:
 * - WooCommerce本体の `#content table.cart td.actions .input-text { width: 80px; }` を明示的に上書き。
 */

body.woocommerce-cart {
	--coyote-cart-font-sans: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--coyote-cart-ink: #17140d;
	--coyote-cart-muted: #665f52;
	--coyote-cart-paper: #fffaf0;
	--coyote-cart-card: #fffdf8;
	--coyote-cart-line: rgba(39, 34, 23, 0.16);
	--coyote-cart-line-strong: rgba(39, 34, 23, 0.28);
	--coyote-cart-yellow: #ffd844;
	--coyote-cart-yellow-strong: #ffc400;
	--coyote-cart-danger: #b3261e;
	--coyote-cart-shadow: 0 18px 42px rgba(36, 30, 16, 0.08);
	color: var(--coyote-cart-ink);
	font-family: var(--coyote-cart-font-sans);
	font-feature-settings: "palt" 1;
}

body.woocommerce-cart .cc-page-main,
body.woocommerce-cart .cc-page-main *,
body.woocommerce-cart .woocommerce,
body.woocommerce-cart .woocommerce * {
	box-sizing: border-box;
	font-family: inherit;
}

body.woocommerce-cart .cc-page-main {
	width: 100%;
	max-width: 1040px;
	margin-inline: auto;
}

body.woocommerce-cart .cc-page-header {
	border-bottom: 1px solid var(--coyote-cart-line);
}

body.woocommerce-cart .cc-page-header h1 {
	margin: 0;
	color: var(--coyote-cart-ink);
	font-weight: 850;
	letter-spacing: -0.04em;
}

body.woocommerce-cart .woocommerce-notices-wrapper:empty {
	display: none;
}

body.woocommerce-cart .woocommerce {
	display: grid;
}

body.woocommerce-cart a.remove,
body.woocommerce-cart a.remove:hover,
body.woocommerce-cart a.remove:focus-visible {
	text-decoration: none !important;
	box-shadow: none !important;
	border-bottom: 0 !important;
}

body.woocommerce-cart a.remove::before,
body.woocommerce-cart a.remove::after {
	content: none !important;
	display: none !important;
}

body.woocommerce-cart .quantity {
	display: inline-grid;
	place-items: center;
}

body.woocommerce-cart .quantity .qty {
	width: 58px;
	min-height: 40px;
	margin: 0;
	padding: 8px 10px;
	border: 1px solid var(--coyote-cart-line-strong);
	border-radius: 12px;
	background: #fff;
	color: var(--coyote-cart-ink);
	font-size: 1rem;
	font-weight: 850;
	line-height: 1;
	text-align: center;
}

body.woocommerce-cart .quantity .qty:focus {
	outline: 3px solid rgba(255, 216, 68, 0.42);
	outline-offset: 2px;
	border-color: rgba(39, 34, 23, 0.42);
}

body.woocommerce-cart .product-thumbnail a,
body.woocommerce-cart .product-thumbnail a:hover,
body.woocommerce-cart .product-thumbnail a:focus-visible {
	border: 0 !important;
	background: transparent !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

body.woocommerce-cart .product-thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	border: 0 !important;
	border-radius: 0 !important;
	object-fit: cover;
	box-shadow: none !important;
}

body.woocommerce-cart .button,
body.woocommerce-cart button.button,
body.woocommerce-cart a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 10px 18px;
	border: 1px solid rgba(39, 34, 23, 0.18);
	border-radius: 999px;
	background: #fff7d7;
	color: var(--coyote-cart-ink);
	font-weight: 850;
	line-height: 1.2;
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
}

body.woocommerce-cart .button:hover,
body.woocommerce-cart .button:focus-visible {
	background: #ffe995;
	color: var(--coyote-cart-ink);
}

/* PC ---------------------------------------------------------------------- */

@media (min-width: 768px) {
	body.woocommerce-cart .cc-page-main {
		padding: 88px 24px 108px;
	}

	body.woocommerce-cart .cc-page-header {
		margin: 0 0 24px;
		padding: 0 0 16px;
	}

	body.woocommerce-cart .cc-page-header h1 {
		font-size: clamp(1.55rem, 2.1vw, 2.05rem);
		line-height: 1.16;
	}

	body.woocommerce-cart .woocommerce {
		gap: 32px;
	}

	body.woocommerce-cart .woocommerce-cart-form {
		width: 100%;
	}

	body.woocommerce-cart table.shop_table {
		width: 100%;
		margin: 0;
		border: 1px solid var(--coyote-cart-line);
		border-collapse: separate;
		border-spacing: 0;
		border-radius: 16px;
		background: var(--coyote-cart-card);
		box-shadow: var(--coyote-cart-shadow);
		overflow: hidden;
	}

	body.woocommerce-cart table.shop_table th,
	body.woocommerce-cart table.shop_table td {
		display: table-cell !important;
		float: none !important;
		clear: none !important;
		border: 0;
		border-bottom: 1px solid var(--coyote-cart-line);
		color: var(--coyote-cart-ink);
		font-size: 0.95rem;
		line-height: 1.55;
		vertical-align: middle;
	}

	body.woocommerce-cart table.shop_table tr:last-child th,
	body.woocommerce-cart table.shop_table tr:last-child td {
		border-bottom: 0;
	}

	body.woocommerce-cart table.shop_table_responsive tr td::before,
	body.woocommerce-cart table.shop_table_responsive tr th::before {
		content: none !important;
		display: none !important;
	}

	body.woocommerce-cart .woocommerce-cart-form__contents thead {
		display: table-header-group !important;
	}

	body.woocommerce-cart .woocommerce-cart-form__contents tbody {
		display: table-row-group !important;
	}

	body.woocommerce-cart .woocommerce-cart-form__contents tr {
		display: table-row !important;
	}

	body.woocommerce-cart .woocommerce-cart-form__contents thead th {
		padding: 14px 16px;
		background: linear-gradient(180deg, #fff7df 0%, #fbf1dc 100%);
		color: var(--coyote-cart-ink);
		font-size: 0.84rem;
		font-weight: 850;
		letter-spacing: 0.02em;
		text-align: left;
		white-space: nowrap;
	}

	body.woocommerce-cart .woocommerce-cart-form__contents tbody td {
		padding: 18px 16px;
		background: rgba(255, 253, 248, 0.9);
		font-weight: 700;
	}

	body.woocommerce-cart .woocommerce-cart-form__contents .product-remove {
		width: 54px;
		text-align: center;
	}

	body.woocommerce-cart .woocommerce-cart-form__contents .product-thumbnail {
		display: table-cell !important;
		width: 104px;
		text-align: center;
	}

	body.woocommerce-cart .woocommerce-cart-form__contents .product-price,
	body.woocommerce-cart .woocommerce-cart-form__contents .product-subtotal {
		width: 120px;
		white-space: nowrap;
	}

	body.woocommerce-cart .woocommerce-cart-form__contents .product-quantity {
		width: 112px;
	}

	body.woocommerce-cart .woocommerce-cart-form__contents .product-name a {
		color: var(--coyote-cart-ink);
		font-weight: 850;
		text-decoration: none;
		overflow-wrap: anywhere;
	}

	body.woocommerce-cart .woocommerce-cart-form__contents .product-name a:hover,
	body.woocommerce-cart .woocommerce-cart-form__contents .product-name a:focus-visible {
		text-decoration: underline;
		text-underline-offset: 0.16em;
	}

	body.woocommerce-cart a.remove {
		display: inline-grid;
		place-items: center;
		width: 30px;
		height: 30px;
		border: 1px solid rgba(179, 38, 30, 0.22);
		border-radius: 999px;
		background: #fff9f4;
		color: var(--coyote-cart-danger) !important;
		font-size: 1.1rem;
		font-weight: 800;
		line-height: 1;
	}

	body.woocommerce-cart a.remove:hover,
	body.woocommerce-cart a.remove:focus-visible {
		border-color: rgba(179, 38, 30, 0.42);
		background: #fff0e8;
		color: var(--coyote-cart-danger) !important;
	}

	body.woocommerce-cart .product-thumbnail a {
		display: block !important;
		width: 74px;
		max-width: 74px;
		margin-inline: auto;
		aspect-ratio: 4 / 3;
		overflow: hidden;
	}

	body.woocommerce-cart .woocommerce-cart-form__contents td.actions {
		padding: 16px;
		background: rgba(255, 248, 230, 0.52);
	}

	body.woocommerce-cart .coupon {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		float: left !important;
		max-width: calc(100% - 230px);
	}

	body.woocommerce-cart .coupon .input-text {
		width: clamp(220px, 26vw, 340px);
		min-height: 40px;
		margin: 0;
		padding: 9px 12px;
		border: 1px solid var(--coyote-cart-line);
		border-radius: 12px;
		background: #fff;
		color: var(--coyote-cart-ink);
		font-weight: 750;
	}

	body.woocommerce-cart button[name="update_cart"] {
		float: right !important;
		background: rgba(255, 253, 248, 0.64);
		color: rgba(39, 34, 23, 0.55);
	}

	body.woocommerce-cart button[name="update_cart"]:not(:disabled) {
		background: #fff7d7;
		color: var(--coyote-cart-ink);
	}

	body.woocommerce-cart .cart-collaterals {
		display: flex !important;
		justify-content: flex-end;
		width: 100%;
		margin-top: 2px;
	}

	body.woocommerce-cart .cart-collaterals::before,
	body.woocommerce-cart .cart-collaterals::after {
		content: none !important;
		display: none !important;
	}

	body.woocommerce-cart .cart_totals {
		float: none !important;
		clear: none !important;
		width: 480px !important;
		max-width: 480px !important;
		margin: 0 !important;
	}

	body.woocommerce-cart .cart_totals h2 {
		width: 100%;
		margin: 0 0 16px;
		color: var(--coyote-cart-ink);
		font-size: clamp(1.32rem, 2vw, 1.72rem);
		font-weight: 850;
		line-height: 1.22;
		letter-spacing: -0.04em;
		white-space: normal;
	}

	body.woocommerce-cart .cart_totals table.shop_table {
		display: table !important;
		width: 100% !important;
		max-width: 100% !important;
		table-layout: auto;
		border-radius: 14px;
		box-shadow: 0 12px 30px rgba(36, 30, 16, 0.07);
	}

	body.woocommerce-cart .cart_totals table.shop_table tbody {
		display: table-row-group !important;
	}

	body.woocommerce-cart .cart_totals table.shop_table tr {
		display: table-row !important;
	}

	body.woocommerce-cart .cart_totals table.shop_table th,
	body.woocommerce-cart .cart_totals table.shop_table td {
		display: table-cell !important;
		float: none !important;
		clear: none !important;
		padding: 15px 16px;
		background: rgba(255, 253, 248, 0.9);
		font-weight: 800;
		white-space: normal;
	}

	body.woocommerce-cart .cart_totals table.shop_table th {
		width: 42%;
		background: rgba(255, 248, 230, 0.62);
		text-align: left;
	}

	body.woocommerce-cart .cart_totals table.shop_table td {
		text-align: right;
		white-space: nowrap;
	}

	body.woocommerce-cart .cart_totals .order-total th,
	body.woocommerce-cart .cart_totals .order-total td {
		background: #fff4c2;
		font-size: 1rem;
		font-weight: 900;
	}

	body.woocommerce-cart .wc-proceed-to-checkout {
		padding: 0;
	}

	body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
		display: flex;
		width: 100%;
		min-height: 58px;
		margin: 18px 0 0;
		padding: 16px 24px;
		border: 1px solid #d9aa00;
		border-radius: 16px;
		background: linear-gradient(180deg, var(--coyote-cart-yellow) 0%, var(--coyote-cart-yellow-strong) 100%);
		color: #16120a;
		font-size: 1.05rem;
		font-weight: 900;
		letter-spacing: 0.01em;
		text-align: center;
		text-decoration: none;
		box-shadow: 0 16px 30px rgba(165, 126, 0, 0.2);
	}

	body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
	body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:focus-visible {
		background: linear-gradient(180deg, #ffe36c 0%, #ffca16 100%);
		color: #16120a;
	}
}


@media (min-width: 768px) and (max-width: 980px) {
	body.woocommerce-cart .coupon {
		max-width: 100%;
	}

	body.woocommerce-cart .coupon .input-text {
		width: min(46vw, 300px);
	}
}

/* Mobile ------------------------------------------------------------------ */

@media (max-width: 767px) {
	body.woocommerce-cart .cc-page-main {
		max-width: 100%;
		padding: 34px 18px 72px;
	}

	body.woocommerce-cart .cc-page-header {
		margin: 0 0 16px;
		padding: 0 0 12px;
	}

	body.woocommerce-cart .cc-page-header h1 {
		font-size: clamp(1.2rem, 5.7vw, 1.5rem);
		line-height: 1.18;
	}

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

	body.woocommerce-cart .woocommerce-cart-form,
	body.woocommerce-cart .woocommerce-cart-form__contents {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body.woocommerce-cart .woocommerce-cart-form__contents,
	body.woocommerce-cart .woocommerce-cart-form__contents thead,
	body.woocommerce-cart .woocommerce-cart-form__contents tbody,
	body.woocommerce-cart .woocommerce-cart-form__contents tr,
	body.woocommerce-cart .woocommerce-cart-form__contents th,
	body.woocommerce-cart .woocommerce-cart-form__contents td {
		display: block;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		float: none;
		clear: none;
	}

	body.woocommerce-cart .woocommerce-cart-form__contents {
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		overflow: visible !important;
	}

	body.woocommerce-cart .woocommerce-cart-form__contents thead {
		position: absolute;
		width: 1px !important;
		height: 1px;
		margin: -1px;
		padding: 0;
		border: 0;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		overflow: hidden;
		white-space: nowrap;
	}

	body.woocommerce-cart .woocommerce-cart-form__contents tbody {
		display: grid;
		gap: 12px;
		background: transparent;
	}

	body.woocommerce-cart table.shop_table_responsive tr td::before,
	body.woocommerce-cart table.shop_table_responsive tr th::before {
		content: none !important;
		display: none !important;
		visibility: hidden !important;
		float: none !important;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item.cart_item {
		position: relative;
		display: grid !important;
		grid-template-columns: 88px minmax(0, 1fr);
		grid-template-areas:
			"thumb name"
			"price price"
			"quantity quantity"
			"subtotal subtotal";
		align-items: center;
		gap: 12px 14px;
		padding: 14px;
		border: 1px solid rgba(39, 34, 23, 0.15);
		border-radius: 17px;
		background: rgba(255, 253, 248, 0.94);
		box-shadow: 0 16px 34px rgba(36, 30, 16, 0.08);
		overflow: hidden;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-remove {
		position: absolute;
		top: 12px;
		right: 12px;
		z-index: 2;
		width: 28px !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		text-align: right !important;
		overflow: visible;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-remove a.remove {
		display: inline-grid !important;
		place-items: center;
		width: 28px;
		height: 28px;
		border: 1px solid rgba(179, 38, 30, 0.24) !important;
		border-radius: 999px;
		background: #fff8f2;
		color: var(--coyote-cart-danger) !important;
		font-size: 1.05rem;
		font-weight: 800;
		line-height: 1;
		text-decoration: none !important;
		box-shadow: none !important;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-remove,
	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-remove *,
	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-remove a,
	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-remove a:hover,
	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-remove a:focus-visible {
		text-decoration: none !important;
		border-bottom: 0 !important;
		box-shadow: none !important;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tr.cart_item td.product-thumbnail,
	body.woocommerce-cart .woocommerce table.shop_table_responsive.woocommerce-cart-form__contents tr.cart_item td.product-thumbnail {
		grid-area: thumb;
		display: block !important;
		visibility: visible !important;
		width: 88px !important;
		max-width: 88px !important;
		min-width: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		text-align: left !important;
		overflow: visible !important;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail a,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tr.cart_item td.product-thumbnail a {
		display: block !important;
		visibility: visible !important;
		width: 88px !important;
		max-width: 88px !important;
		aspect-ratio: 4 / 3;
		margin: 0;
		padding: 0;
		border: 0 !important;
		background: transparent !important;
		overflow: hidden;
		box-shadow: none !important;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail img,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tr.cart_item td.product-thumbnail img {
		display: block !important;
		visibility: visible !important;
		width: 100% !important;
		height: 100% !important;
		max-width: none !important;
		border: 0 !important;
		border-radius: 0 !important;
		object-fit: cover;
		box-shadow: none !important;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-name {
		grid-area: name;
		align-self: center;
		padding: 0 34px 0 0 !important;
		border: 0 !important;
		background: transparent !important;
		text-align: left !important;
		overflow: hidden;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-name a {
		display: block;
		max-width: 100%;
		color: var(--coyote-cart-ink);
		font-size: 0.98rem;
		font-weight: 850;
		line-height: 1.42;
		letter-spacing: -0.025em;
		overflow-wrap: anywhere;
		word-break: normal;
		text-decoration: none;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-price,
	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-quantity,
	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-subtotal {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 12px;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		text-align: right !important;
		overflow: hidden;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-price {
		grid-area: price;
		padding-top: 8px !important;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-quantity {
		grid-area: quantity;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-subtotal {
		grid-area: subtotal;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-price::before,
	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-quantity::before,
	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-subtotal::before {
		content: attr(data-title) !important;
		display: block !important;
		visibility: visible !important;
		color: rgba(39, 34, 23, 0.68);
		font-size: 0.82rem;
		font-weight: 850;
		line-height: 1.35;
		letter-spacing: 0.02em;
		text-align: left;
		white-space: nowrap;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-price .amount,
	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-subtotal .amount {
		display: inline-block;
		color: var(--coyote-cart-ink);
		font-size: 0.98rem;
		font-weight: 850;
		line-height: 1.3;
		white-space: nowrap;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item .quantity {
		justify-self: end;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item .quantity .qty {
		width: 54px;
		min-height: 38px;
		padding: 7px 8px;
		border-radius: 12px;
		background: #fff;
		font-size: 0.98rem;
	}

	body.woocommerce-cart .woocommerce-cart-form__contents tr:not(.cart_item) {
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	body.woocommerce-cart .woocommerce-cart-form__contents td.actions {
		display: grid !important;
		gap: 11px;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		text-align: left !important;
	}

	body.woocommerce-cart .coupon {
		display: grid;
		grid-template-columns: 1fr;
		gap: 9px;
		width: 100%;
		padding: 13px;
		border: 1px solid rgba(39, 34, 23, 0.14);
		border-radius: 16px;
		background: rgba(255, 253, 248, 0.9);
		box-shadow: 0 12px 26px rgba(36, 30, 16, 0.045);
	}

	body.woocommerce-cart .coupon .input-text {
		width: 100%;
		min-height: 42px;
		border-radius: 12px;
	}

	body.woocommerce-cart .coupon .button {
		width: 100%;
		min-height: 42px;
	}

	body.woocommerce-cart button[name="update_cart"] {
		float: none !important;
		width: 100%;
		min-height: 44px;
		border-radius: 14px;
		background: rgba(255, 253, 248, 0.64);
	}

	body.woocommerce-cart .cart-collaterals {
		display: block !important;
		width: 100%;
	}

	body.woocommerce-cart .cart_totals {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}

	body.woocommerce-cart .cart_totals h2 {
		margin: 0 0 12px;
		font-size: clamp(1.12rem, 5.1vw, 1.34rem);
		line-height: 1.22;
		letter-spacing: -0.035em;
		white-space: normal;
	}

	body.woocommerce-cart .cart_totals table.shop_table,
	body.woocommerce-cart .cart_totals table.shop_table tbody,
	body.woocommerce-cart .cart_totals table.shop_table tr,
	body.woocommerce-cart .cart_totals table.shop_table th,
	body.woocommerce-cart .cart_totals table.shop_table td {
		display: block;
	}

	body.woocommerce-cart .cart_totals table.shop_table {
		width: 100% !important;
		border: 1px solid var(--coyote-cart-line);
		border-radius: 16px;
		background: var(--coyote-cart-card);
		box-shadow: 0 14px 30px rgba(36, 30, 16, 0.07);
		overflow: hidden;
	}

	body.woocommerce-cart .cart_totals table.shop_table tr {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 12px;
		padding: 14px 15px;
		border-bottom: 1px solid var(--coyote-cart-line);
	}

	body.woocommerce-cart .cart_totals table.shop_table tr:last-child {
		border-bottom: 0;
	}

	body.woocommerce-cart .cart_totals table.shop_table th,
	body.woocommerce-cart .cart_totals table.shop_table td {
		width: auto !important;
		padding: 0;
		border: 0;
		background: transparent !important;
		font-size: 0.92rem;
	}

	body.woocommerce-cart .cart_totals table.shop_table th {
		color: rgba(39, 34, 23, 0.74);
		font-size: 0.84rem;
		font-weight: 850;
		letter-spacing: 0.03em;
		text-align: left;
	}

	body.woocommerce-cart .cart_totals table.shop_table td {
		text-align: right !important;
		white-space: nowrap;
	}

	body.woocommerce-cart .cart_totals table.shop_table td::before {
		content: none !important;
		display: none !important;
	}

	body.woocommerce-cart .cart_totals .order-total {
		background: #fff4c2;
	}

	body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
		display: flex;
		width: 100%;
		min-height: 56px;
		margin: 16px 0 0;
		padding: 16px 20px;
		border: 1px solid #d9aa00;
		border-radius: 16px;
		background: linear-gradient(180deg, var(--coyote-cart-yellow) 0%, var(--coyote-cart-yellow-strong) 100%);
		color: #16120a;
		font-size: 1rem;
		font-weight: 900;
		text-decoration: none;
		box-shadow: 0 16px 30px rgba(165, 126, 0, 0.2);
	}
}

@media (max-width: 380px) {
	body.woocommerce-cart .cc-page-main {
		padding-right: 14px;
		padding-left: 14px;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item.cart_item {
		grid-template-columns: 82px minmax(0, 1fr);
		gap: 12px;
		padding: 13px;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail,
	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail a,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tr.cart_item td.product-thumbnail,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tr.cart_item td.product-thumbnail a {
		width: 82px !important;
		max-width: 82px !important;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-name a {
		font-size: 0.94rem;
	}
}


/* v1.0.7 WooCommerce core coupon width override -------------------------- */

@media (min-width: 768px) {
	body.woocommerce-cart #content .woocommerce table.cart td.actions .coupon input#coupon_code.input-text,
	body.woocommerce-cart #content .woocommerce table.shop_table td.actions .coupon input#coupon_code.input-text,
	body.woocommerce-cart .cc-page-content .woocommerce table.cart td.actions .coupon input#coupon_code.input-text {
		width: clamp(240px, 30vw, 360px) !important;
		min-width: 240px !important;
		max-width: 360px !important;
		height: auto !important;
		min-height: 40px !important;
		margin: 0 !important;
		padding: 9px 12px !important;
		box-sizing: border-box !important;
	}

	body.woocommerce-cart #content .woocommerce table.cart td.actions .coupon,
	body.woocommerce-cart .cc-page-content .woocommerce table.cart td.actions .coupon {
		display: inline-flex !important;
		align-items: center !important;
		gap: 10px !important;
		max-width: calc(100% - 230px) !important;
	}
}

@media (min-width: 768px) and (max-width: 980px) {
	body.woocommerce-cart #content .woocommerce table.cart td.actions .coupon input#coupon_code.input-text,
	body.woocommerce-cart #content .woocommerce table.shop_table td.actions .coupon input#coupon_code.input-text,
	body.woocommerce-cart .cc-page-content .woocommerce table.cart td.actions .coupon input#coupon_code.input-text {
		width: min(46vw, 300px) !important;
		min-width: 210px !important;
		max-width: 300px !important;
	}

	body.woocommerce-cart #content .woocommerce table.cart td.actions .coupon,
	body.woocommerce-cart .cc-page-content .woocommerce table.cart td.actions .coupon {
		max-width: 100% !important;
	}
}


/* v1.1.43 Child-theme migration: fixed sold-individually quantity display. */
body.woocommerce-cart .coyote-cart-fixed-qty {
	display: inline-grid;
	place-items: center;
	min-width: 44px;
	min-height: 40px;
	padding: 8px 12px;
	border: 1px solid var(--coyote-cart-line-strong);
	border-radius: 999px;
	background: #fff;
	color: var(--coyote-cart-ink);
	font-size: 1rem;
	font-weight: 850;
	line-height: 1;
	text-align: center;
}

body.woocommerce-cart td.product-quantity .coyote-cart-fixed-qty {
	margin-inline: auto;
}
