/* ── G7 cart: WooCommerce Cart Block + single-product confirmation ───────── */

/* Add confirmation: a small pointer attached to the header cart, not a modal,
   toast, or page-level WooCommerce banner. */
.studio-header .nav-cart-link { position: relative; }
.studio-header .nav-cart-link.is-cart-confirmed .nav-cart-count {
	border-color: #63e4cb;
	background: #63e4cb;
	color: #071915;
	transform: scale(1.08);
}
.g7-cart-nudge {
	position: absolute;
	z-index: 10020;
	top: calc(100% + 9px);
	left: 50%;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 34px;
	padding: 6px 11px 6px 7px;
	border: 1px solid rgba(99, 228, 203, .42);
	border-radius: 99px;
	background: #f9fffd;
	box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
	color: #071915;
	font: 600 9px/1 var(--studio-mono, monospace);
	letter-spacing: .1em;
	text-transform: uppercase;
	white-space: nowrap;
	pointer-events: none;
	transform: translate(-50%, -5px);
	opacity: 0;
	transition: transform .2s ease, opacity .2s ease;
}
.g7-cart-nudge::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -5px;
	width: 8px;
	height: 8px;
	border-left: 1px solid rgba(99, 228, 203, .42);
	border-top: 1px solid rgba(99, 228, 203, .42);
	background: #f9fffd;
	transform: translateX(-50%) rotate(45deg);
}
.g7-cart-nudge i {
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #63e4cb;
	color: #071915;
	font: 700 12px/1 var(--studio-sans, sans-serif);
}
.nav-cart-link.is-cart-confirmed .g7-cart-nudge {
	transform: translate(-50%, 0);
	opacity: 1;
}
.nav-cart-count { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }

/* Cart Block structure. */
body.woocommerce-cart,
body.woocommerce-cart .site-content,
body.woocommerce-cart #content { background: #071915; }
body.woocommerce-cart .site-main { color: #f9fffd; }
body.woocommerce-cart .site-main { max-width: 1320px; margin-inline: auto; }
body:not(.home).woocommerce-cart .g7-page {
	padding-block: clamp(42px, 5vw, 72px) clamp(78px, 9vw, 128px);
}
body:not(.home).woocommerce-cart .g7-page > .container--read {
	width: min(calc(100% - 64px), 1460px);
	max-width: none;
}
body:not(.home).woocommerce-cart .g7-page__head {
	margin-bottom: 30px;
	padding-bottom: 22px;
	border-color: rgba(99, 228, 203, .2);
}
body:not(.home).woocommerce-cart .g7-page__title,
body:not(.home).woocommerce-cart .woocommerce > h1 {
	margin: 0;
	color: #f9fffd !important;
	font-size: clamp(54px, 6vw, 86px);
	line-height: .9;
	letter-spacing: -.075em;
}
body.woocommerce-cart .entry-title {
	max-width: none;
	margin: 0 0 clamp(34px, 5vw, 62px);
	padding-bottom: 22px;
	border-bottom: 1px solid rgba(99, 228, 203, .2);
	font-size: clamp(58px, 8vw, 112px);
	letter-spacing: -.075em;
	color: #f9fffd;
}
/* Override the broader legacy commerce heading rule on this dark canvas. */
body:not(.home).woocommerce-cart .entry-title,
body:not(.home).woocommerce-cart .woocommerce > h1 { color: #f9fffd !important; }
body.woocommerce-cart .wc-block-cart { max-width: none; }
/* Empty cart: make Woo's block state intentional on the dark cart canvas. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
	padding-top: clamp(12px, 2vw, 28px);
}
body.woocommerce-cart .wc-block-cart__empty-cart__title {
	max-width: 520px;
	margin: 0 auto !important;
	padding: 24px 30px !important;
	border: 1px solid rgba(99, 228, 203, .18);
	border-radius: 10px;
	background: rgba(99, 228, 203, .025);
	color: rgba(249, 255, 253, .76) !important;
	font: 500 clamp(20px, 2vw, 27px)/1.25 var(--studio-sans, sans-serif) !important;
	letter-spacing: -.025em;
}
body.woocommerce-cart .wc-block-cart__empty-cart__title::before {
	display: none !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-separator {
	display: none;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading:not(.wc-block-cart__empty-cart__title) {
	margin: clamp(70px, 9vw, 118px) 0 30px;
	color: #f9fffd !important;
	font: 600 clamp(32px, 4vw, 54px)/1 var(--studio-sans, sans-serif) !important;
	letter-spacing: -.055em;
	text-align: left !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 28px);
	margin: 0 !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
	display: flex;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 0 20px;
	flex-direction: column;
	border: 1px solid rgba(7, 25, 21, .11);
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image {
	width: 100%;
	aspect-ratio: 1/1;
	margin: 0 0 22px;
	background: #edf4f1;
	overflow: hidden;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
	padding-inline: 18px;
	color: #071915;
	text-align: left;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link:hover,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
	color: #071915;
	text-decoration: none;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
	min-height: 2.5em;
	margin-bottom: 12px;
	font: 650 clamp(16px, 1.4vw, 20px)/1.25 var(--studio-sans, sans-serif);
	letter-spacing: -.025em;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
	margin-bottom: 18px;
	font: 600 12px/1.5 var(--studio-mono, monospace);
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link {
	width: calc(100% - 36px);
	min-height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: auto 18px 0;
	padding: 14px 16px;
	border-radius: 6px;
	background: #071915;
	color: #f9fffd;
	font: 600 9px/1 var(--studio-mono, monospace);
	letter-spacing: .09em;
	text-transform: uppercase;
}
body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-cart__sidebar { min-width: 0; }
body.woocommerce-cart .wc-block-components-sidebar-layout { align-items: start !important; }
body.woocommerce-cart .wc-block-components-sidebar {
	position: sticky;
	top: 108px;
	align-self: start !important;
	height: fit-content !important;
	padding: clamp(22px, 2.4vw, 30px);
	border: 1px solid rgba(99, 228, 203, .42);
	border-radius: 9px;
	background: #f2f8f5;
	box-shadow: 0 26px 70px rgba(0, 0, 0, .18);
	color: #071915;
}
body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar {
	margin-top: 0;
}
body.woocommerce-cart .wc-block-cart-items { border-top: 1px solid rgba(99, 228, 203, .2); }
body.woocommerce-cart .wc-block-cart-items__header { display: grid; padding: 14px 0; border-bottom: 1px solid rgba(99, 228, 203, .2); color: rgba(249, 255, 253, .48); font: 500 10px/1.2 var(--studio-mono, monospace); letter-spacing: .12em; text-transform: uppercase; }
body.woocommerce-cart .wc-block-cart-items__row { padding: 24px 0; border-bottom: 1px solid rgba(99, 228, 203, .2); }
body.woocommerce-cart .wc-block-cart-item__image img { border: 1px solid rgba(7, 25, 21, .1); border-radius: 7px; background: #fff; }
body.woocommerce-cart .wc-block-components-product-name { color: #f9fffd; font: 600 clamp(19px, 2vw, 28px)/1.08 var(--studio-sans, sans-serif); letter-spacing: -.045em; text-decoration: none; }
body.woocommerce-cart .wc-block-components-product-name:hover { color: #63e4cb; text-decoration: none; }
body.woocommerce-cart .wc-block-components-product-price,
body.woocommerce-cart .wc-block-components-product-metadata { margin-top: 8px; color: rgba(249, 255, 253, .5); font: 500 11px/1.5 var(--studio-mono, monospace); letter-spacing: .04em; }
body.woocommerce-cart .wc-block-components-product-price { color: #63e4cb; }
body.woocommerce-cart .wc-block-components-product-details { display: none; }
body.woocommerce-cart .wc-block-components-quantity-selector { height: 39px; border-color: rgba(249, 255, 253, .3); border-radius: 5px; background: transparent; }
body.woocommerce-cart .wc-block-components-quantity-selector input { color: #f9fffd; font: 600 14px var(--studio-mono, monospace); }
body.woocommerce-cart .wc-block-components-quantity-selector button { color: #f9fffd; }
body.woocommerce-cart .wc-block-cart-item__remove-link { margin-top: 11px; color: rgba(249, 255, 253, .48); font: 500 10px/1.2 var(--studio-mono, monospace); letter-spacing: .08em; text-transform: uppercase; }
body.woocommerce-cart .wc-block-cart-item__remove-link:hover { color: #ff9898; }

/* The dark summary deliberately anchors the cart and makes its primary action obvious. */
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper { border-top: 0; }
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-item,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-footer-item { padding: 15px 0; border-color: rgba(7,25,21,.14); color: rgba(7, 25, 21, .72); font: 500 11px/1.25 var(--studio-mono, monospace); letter-spacing: .07em; }
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-item__value,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-footer-item .wc-block-formatted-money-amount { color: #071915; font: 700 18px/1.2 var(--studio-sans, sans-serif); letter-spacing: -.02em; }
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-item__label { color: rgba(7, 25, 21, .58); }
body.woocommerce-cart .wc-block-cart__totals-title {
	margin: 0 0 22px !important;
	font-size: clamp(32px, 2.7vw, 44px) !important;
	line-height: .95;
	letter-spacing: -.055em;
	word-spacing: .18em;
	white-space: nowrap;
}
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon-link,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-shipping__change-address__link { color: #167765; font: 500 10px/1.3 var(--studio-mono, monospace); letter-spacing: .08em; text-transform: uppercase; }
body.woocommerce-cart .wc-block-cart__submit { margin-top: 18px; }
body.woocommerce-cart .wc-block-cart__submit .wc-block-components-button {
	min-height: 58px;
	border-radius: 6px;
	background: #071915;
	color: #f9fffd;
	font: 600 11px/1 var(--studio-mono, monospace);
	letter-spacing: .1em;
	text-transform: uppercase;
}
body.woocommerce-cart .wc-block-cart__submit .wc-block-components-button:hover { background: #167765; color: #f9fffd; }
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-panel,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon { border-color: rgba(7,25,21,.14); }
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-panel__button { color: rgba(7,25,21,.75); font: 500 10px/1.3 var(--studio-mono, monospace); letter-spacing: .08em; text-transform: uppercase; }
body.woocommerce-cart .wc-block-components-sidebar input { border-color: rgba(7,25,21,.22); background: #fff; color: #071915; }
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-notice-banner { margin: 16px 0 0; border-color: rgba(22,119,101,.32); background: rgba(99,228,203,.12); color: #071915; }
body.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block { margin-top: clamp(64px, 8vw, 112px); padding-top: clamp(34px, 5vw, 60px); border-top: 1px solid rgba(99,228,203,.2); }
body.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block > h2 { margin-bottom: 28px; color: #f9fffd; font-size: clamp(34px, 4vw, 58px); letter-spacing: -.06em; }

@media (max-width: 781px) {
	body:not(.home).woocommerce-cart .g7-page { padding-block: 34px 72px; }
	body:not(.home).woocommerce-cart .g7-page > .container--read { width: min(calc(100% - 40px), 1460px); }
	body.woocommerce-cart .wc-block-components-sidebar { position: static; margin-top: 28px; padding: 22px 18px; }
	body:not(.home).woocommerce-cart .g7-page__title,
	body.woocommerce-cart .entry-title { font-size: clamp(48px, 15vw, 68px); }
	body.woocommerce-cart .wc-block-cart-items__row { padding: 18px 0; }
	body.woocommerce-cart .wc-block-components-product-name { font-size: 18px; }
	body.woocommerce-cart .wc-block-cart__empty-cart__title { padding: 20px !important; font-size: 20px !important; }
	body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading:not(.wc-block-cart__empty-cart__title) { margin-top: 64px; font-size: 34px !important; }
	body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
	body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.g7-cart-nudge,
	.nav-cart-count { transition: none; }
}
