/* Sigma SA cart page (WooCommerce Cart block), matched to sigmaphoto.com "Shopping cart". */
.woocommerce-cart {
	--c-ink: #333333;
	--c-line: rgba(51, 51, 51, 0.7);
	--c-hair: rgba(51, 51, 51, 0.1);
	--c-sans: "SigmaSans-Regular", "Sigma Sans", sans-serif;
	--c-serif: "SigmaSerif-Text", "Sigma Serif", serif;
	--c-head: "SigmaSerif-Headline", "SigmaSerif-Text", serif;
}

/* Full-width page with 16px gutters (the theme limits it to 1140px). */
.woocommerce-cart main#content.site-main {
	max-width: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 16px 96px !important;
	box-sizing: border-box;
}
.woocommerce-cart .wp-block-woocommerce-cart.alignwide { margin-left: 0 !important; margin-right: 0 !important; max-width: none !important; width: 100% !important; }

/* Big centred title */
.woocommerce-cart .page-header .entry-title {
	margin: 120px 0 80px;
	font-family: var(--c-head);
	font-size: 88px;
	line-height: 1;
	letter-spacing: -1.32px;
	font-weight: 400;
	text-align: center;
	text-transform: uppercase;
	color: var(--c-ink);
}

/* Two columns: items + 333px summary */
.woocommerce-cart .wc-block-cart.wc-block-components-sidebar-layout {
	display: flex !important;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 48px;
	margin: 0 !important;
}
.woocommerce-cart .wc-block-cart .wc-block-cart__main { flex: 1 1 auto; width: auto !important; min-width: 0; padding: 0 !important; }
.woocommerce-cart .wc-block-cart .wc-block-cart__sidebar { flex: 0 0 333px; width: 333px !important; padding: 0 !important; margin: 0 !important; }

/* ---------- Items table: Item | Price | Qty | Subtotal ---------- */
.woocommerce-cart .wc-block-cart-items { width: 100%; border-collapse: collapse; border: 0 !important; margin: 0 !important; }
.woocommerce-cart .wc-block-cart-items thead,
.woocommerce-cart .wc-block-cart-items tbody { display: block; }
.woocommerce-cart .wc-block-cart-items__header,
.woocommerce-cart .wc-block-cart-items__row {
	display: grid !important;
	grid-template-columns: 109px minmax(0, 1fr) 20% 25% 16%;
	column-gap: 16px;
	align-items: start;
	border-top: 1px solid var(--c-line);
	border-bottom: 0 !important;
}
.woocommerce-cart .wc-block-cart-items__header { padding: 16px 0; font-family: var(--c-serif); font-size: 16px; line-height: 20px; color: var(--c-ink); text-transform: none; }
.woocommerce-cart .wc-block-cart-items__header th { padding: 0 !important; border: 0 !important; font-weight: 400; font-size: 0 !important; }
.woocommerce-cart .wc-block-cart-items__header-image { grid-column: 1 / 3; order: 1; }
.woocommerce-cart .wc-block-cart-items__header-image::before { content: "Item"; font-size: 16px; }
.woocommerce-cart .wc-block-cart-items__header-product { display: none !important; }
.woocommerce-cart .wc-block-cart-items__header::before { content: "Price"; order: 2; grid-column: 3; text-align: center; }
.woocommerce-cart .wc-block-cart-items__header::after { content: "Qty"; order: 3; grid-column: 4; text-align: center; }
.woocommerce-cart .wc-block-cart-items__header-total { order: 4; grid-column: 5; text-align: right !important; }
.woocommerce-cart .wc-block-cart-items__header-total::before { content: "Subtotal"; font-size: 16px; }

.woocommerce-cart .wc-block-cart-items__row { padding: 16px 0 24px; grid-auto-rows: min-content; }
.woocommerce-cart .wc-block-cart-items__row > td { padding: 0 !important; border: 0 !important; }
.woocommerce-cart .wc-block-cart-item__image { grid-column: 1; grid-row: 1 / span 4; }
.woocommerce-cart .wc-block-cart-item__image img { display: block; width: 109px !important; height: 136px !important; max-width: none; object-fit: contain; }
.woocommerce-cart .wc-block-cart-item__product,
.woocommerce-cart .wc-block-cart-item__wrap { display: contents !important; }

.woocommerce-cart .wc-block-components-product-name {
	grid-column: 2; grid-row: 1;
	font-family: var(--c-sans) !important;
	font-size: 13px !important;
	line-height: 16.25px !important;
	letter-spacing: 0.02px;
	text-transform: uppercase;
	color: var(--c-ink) !important;
	text-decoration: none !important;
	margin: 0 0 4px !important;
}
.woocommerce-cart .wc-block-components-product-metadata {
	grid-column: 2; grid-row: 2;
	margin: 0 !important;
	font-family: var(--c-sans);
	font-size: 13px !important;
	line-height: 16.25px;
	color: var(--c-ink);
}
.woocommerce-cart .wc-block-components-product-metadata .wc-block-components-product-details { margin: 0; padding: 0; list-style: none; }
.woocommerce-cart .wc-block-components-product-details__name { font-weight: 400 !important; margin-right: 4px; }
.woocommerce-cart .wc-block-components-product-details__name::after { content: none; }
.woocommerce-cart .wc-block-cart-item__prices {
	grid-column: 3; grid-row: 1;
	text-align: center;
	margin: 0 !important;
}
.woocommerce-cart .wc-block-cart-item__prices .price,
.woocommerce-cart .wc-block-cart-item__total .price {
	font-family: var(--c-sans) !important;
	font-size: 16px !important;
	line-height: 20px !important;
	font-weight: 400 !important;
	color: var(--c-ink) !important;
}
.woocommerce-cart .wc-block-cart-item__quantity {
	grid-column: 4; grid-row: 1 / span 2;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin: 0 !important;
}
.woocommerce-cart .wc-block-cart-item__total { grid-column: 5; grid-row: 1; text-align: right; }
.woocommerce-cart .wc-block-cart-item__total .wc-block-components-sale-badge { display: none; }

/* Quantity: − 1 + without a box, like the global site */
.woocommerce-cart .wc-block-components-quantity-selector {
	width: auto !important;
	min-width: 96px;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
}
.woocommerce-cart .wc-block-components-quantity-selector::after { border: 0 !important; box-shadow: none !important; }
.woocommerce-cart .wc-block-components-quantity-selector__input {
	width: 40px !important;
	min-width: 0 !important;
	font-family: var(--c-sans) !important;
	font-size: 13px !important;
	color: var(--c-ink) !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}
.woocommerce-cart .wc-block-components-quantity-selector__button {
	min-width: 28px !important;
	background: transparent !important;
	border: 0 !important;
	color: var(--c-ink) !important;
	font-size: 16px !important;
	opacity: 1 !important;
	box-shadow: none !important;
}
.woocommerce-cart .wc-block-components-quantity-selector__button:disabled { opacity: .3 !important; }

/* "Remove item" as text */
.woocommerce-cart .wc-block-cart-item__remove-link {
	display: inline-flex !important;
	align-items: center;
	width: auto !important;
	height: auto !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	color: var(--c-ink) !important;
	font-family: var(--c-sans) !important;
	font-size: 13px !important;
	line-height: 16.25px !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
	cursor: pointer;
}
.woocommerce-cart .wc-block-cart-item__remove-link svg { display: none !important; }
.woocommerce-cart .wc-block-cart-item__remove-link::after { content: "Remove item"; }

/* ---------- Summary ---------- */
.woocommerce-cart .wc-block-cart__totals-title {
	display: block !important;
	margin: 0 !important;
	padding: 16px 0 16px !important;
	border-top: 1px solid var(--c-line);
	font-family: var(--c-serif) !important;
	font-size: 16px !important;
	line-height: 20px !important;
	font-weight: 400 !important;
	letter-spacing: 0.005px;
	text-transform: uppercase !important;
	text-align: left !important;
	color: var(--c-ink);
}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper {
	padding: 12px 0 !important;
	border-top: 1px solid var(--c-hair) !important;
}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-panel__button,
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__label,
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__value {
	font-family: var(--c-sans) !important;
	font-size: 13px !important;
	line-height: 16.25px !important;
	font-weight: 400 !important;
	color: var(--c-ink) !important;
}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-panel__button { padding: 4px 0 !important; margin: 0 !important; }
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--c-serif) !important;
	font-size: 16px !important;
	line-height: 20px !important;
	text-transform: uppercase;
}
.woocommerce-cart .wc-block-cart__submit { margin: 16px 0 0 !important; padding: 0 !important; }
.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .wc-block-cart__submit-button.wc-block-components-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-height: 40px !important;
	height: 40px;
	padding: 12px 16px !important;
	background: var(--c-ink) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: var(--c-sans) !important;
	font-size: 13px !important;
	line-height: 16.25px !important;
	letter-spacing: 0.02px;
	text-transform: uppercase;
	text-decoration: none !important;
}
.woocommerce-cart .wc-block-cart__submit-button:hover { background: rgba(51, 51, 51, .9) !important; }

/* Empty cart */
.woocommerce-cart .wc-block-cart__empty-cart__title { font-family: var(--c-serif); font-size: 16px; text-transform: uppercase; }

/* ---------- Tablet: summary below the items ---------- */
@media (max-width: 1024px) {
	.woocommerce-cart .wc-block-cart.wc-block-components-sidebar-layout { flex-direction: column; gap: 40px; }
	.woocommerce-cart .wc-block-cart .wc-block-cart__sidebar { flex: none; width: 100% !important; }
	.woocommerce-cart .page-header .entry-title { font-size: 64px; margin: 80px 0 56px; }
}

/* ---------- Phone ---------- */
@media (max-width: 767px) {
	.woocommerce-cart main#content.site-main { padding-bottom: 64px !important; }
	.woocommerce-cart .page-header .entry-title { font-size: 40px; letter-spacing: -0.6px; margin: 40px 0 32px; }
	.woocommerce-cart .wc-block-cart-items thead { display: none !important; }
	.woocommerce-cart .wc-block-cart-items__row {
		grid-template-columns: 88px minmax(0, 1fr) auto;
		column-gap: 16px;
		row-gap: 4px;
		padding: 16px 0 !important;
	}
	.woocommerce-cart .wc-block-cart-items__row:last-child { border-bottom: 1px solid var(--c-line) !important; }
	.woocommerce-cart .wc-block-cart-item__image { grid-row: 1 / span 4; }
	.woocommerce-cart .wc-block-cart-item__image img { width: 88px !important; height: 110px !important; }
	.woocommerce-cart .wc-block-components-product-name { grid-column: 2 / 4; grid-row: 1; }
	.woocommerce-cart .wc-block-components-product-metadata { grid-column: 2 / 4; grid-row: 2; }
	.woocommerce-cart .wc-block-cart-item__prices { grid-column: 2 / 4; grid-row: 3; text-align: left; }
	.woocommerce-cart .wc-block-cart-item__prices .price { font-size: 13px !important; color: rgba(51, 51, 51, .7) !important; }
	.woocommerce-cart .wc-block-cart-item__quantity { display: contents !important; }
	.woocommerce-cart .wc-block-components-quantity-selector { grid-column: 2; grid-row: 4; justify-self: start; min-width: 0; margin: 8px 0 0 -8px !important; }
	.woocommerce-cart .wc-block-cart-item__remove-link { grid-column: 2; grid-row: 5; justify-self: start; margin-top: 4px; }
	.woocommerce-cart .wc-block-cart-item__image { grid-row: 1 / span 5; }
	.woocommerce-cart .wc-block-cart-item__total { grid-column: 3; grid-row: 4; align-self: center; margin-top: 8px; }
	.woocommerce-cart .wc-block-cart .wc-block-cart__sidebar { width: 100% !important; }
}
