/* Cart page: neutralize WooCommerce floats before applying the Ntegrity grid. */
.ntegrity-site.woocommerce-cart .entry-content > .woocommerce,
.ntegrity-site.woocommerce-cart main .woocommerce {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 28px !important;
	align-items: start !important;
	width: 100% !important;
}
.ntegrity-site.woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1 / -1 !important; }
.ntegrity-site.woocommerce-cart form.woocommerce-cart-form {
	float: none !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}
.ntegrity-site.woocommerce-cart .woocommerce-cart-form table.shop_table {
	width: 100% !important;
	margin: 0 !important;
	table-layout: auto !important;
}
.ntegrity-site.woocommerce-cart .woocommerce-cart-form table.shop_table th,
.ntegrity-site.woocommerce-cart .woocommerce-cart-form table.shop_table td { padding: 14px 12px !important; vertical-align: middle !important; }
.ntegrity-site.woocommerce-cart .woocommerce-cart-form .product-remove { width: 42px !important; text-align: center; }
.ntegrity-site.woocommerce-cart .woocommerce-cart-form .product-thumbnail { width: 72px !important; }
.ntegrity-site.woocommerce-cart .woocommerce-cart-form .product-name { width: auto !important; min-width: 0 !important; }
.ntegrity-site.woocommerce-cart .woocommerce-cart-form .product-price,
.ntegrity-site.woocommerce-cart .woocommerce-cart-form .product-subtotal { width: 105px !important; white-space: nowrap; }
.ntegrity-site.woocommerce-cart .woocommerce-cart-form .product-quantity { width: 104px !important; }
.ntegrity-site.woocommerce-cart .woocommerce-cart-form .quantity { min-width: 82px !important; }
.ntegrity-site.woocommerce-cart .woocommerce-cart-form .quantity .qty {
	display: block !important;
	width: 82px !important;
	min-width: 82px !important;
	height: 50px !important;
	padding: 8px 10px !important;
	background: #f7f8fb !important;
	border: 1px solid #bac5da !important;
	border-radius: 8px !important;
	color: #111318 !important;
	-webkit-text-fill-color: #111318 !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	opacity: 1 !important;
}
.ntegrity-site.woocommerce-cart .woocommerce-cart-form td.actions {
	display: table-cell !important;
	width: auto !important;
	padding: 16px 12px !important;
}
.ntegrity-site.woocommerce-cart .woocommerce-cart-form td.actions .coupon {
	display: grid !important;
	grid-template-columns: minmax(140px, 1fr) auto !important;
	gap: 10px !important;
	float: left !important;
	width: min(100%, 410px) !important;
}
.ntegrity-site.woocommerce-cart .woocommerce-cart-form td.actions .coupon .input-text {
	width: 100% !important;
	min-width: 0 !important;
	height: 46px !important;
	margin: 0 !important;
}
.ntegrity-site.woocommerce-cart .woocommerce-cart-form td.actions > .button {
	position: static !important;
	float: right !important;
	margin: 0 !important;
	white-space: nowrap !important;
}
.ntegrity-site.woocommerce-cart .woocommerce-cart-form td.actions::after { content: ""; display: block; clear: both; }
.ntegrity-site.woocommerce-cart .cart-collaterals {
	float: none !important;
	width: min(100%, 560px) !important;
	min-width: 0 !important;
	margin: 0 0 0 auto !important;
}
.ntegrity-site.woocommerce-cart .cart-collaterals .cart_totals {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

/* Off-canvas cart drawer. */
.ntegrity-cart-drawer { position: fixed; inset: 0; z-index: 1000000; visibility: hidden; pointer-events: none; }
.ntegrity-cart-drawer.is-open { visibility: visible; pointer-events: auto; }
.ntegrity-cart-drawer__overlay,
.ntegrity-cart-drawer__overlay:hover,
.ntegrity-cart-drawer__overlay:focus { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: rgba(2, 6, 17, .72) !important; box-shadow: none !important; opacity: 0; transition: opacity .24s ease; }
.ntegrity-cart-drawer.is-open .ntegrity-cart-drawer__overlay { opacity: 1; }
.ntegrity-cart-drawer__panel { position: absolute; top: 0; right: 0; width: min(480px, 100vw); height: 100%; overflow: hidden; background: linear-gradient(160deg, #121c38, #070d1d 76%); border-left: 1px solid rgba(92, 120, 214, .42); box-shadow: -24px 0 70px rgba(0,0,0,.5); color: #eef2fb; transform: translateX(102%); transition: transform .28s ease; }
.ntegrity-cart-drawer.is-open .ntegrity-cart-drawer__panel { transform: translateX(0); }
.ntegrity-cart-drawer__inner { display: flex; flex-direction: column; height: 100%; }
.ntegrity-cart-drawer__header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 24px; border-bottom: 1px solid rgba(92,120,214,.34); }
.ntegrity-cart-drawer__header h2 { margin: 3px 0 0; color: #fff; font-size: 27px; line-height: 1.05; }
.ntegrity-cart-drawer__eyebrow { color: #9ba9c6; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.ntegrity-cart-drawer__close { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid rgba(113,132,196,.38); border-radius: 50%; background: rgba(255,255,255,.035); color: #fff; font-size: 30px; line-height: 1; cursor: pointer; }
.ntegrity-cart-drawer__body { flex: 1; min-height: 0; overflow-y: auto; padding: 18px 24px; }
.ntegrity-cart-drawer__continue { display: inline-block; margin-bottom: 14px; color: #91aaff; font-size: 13px; text-decoration: none; }
.ntegrity-drawer-items { list-style: none; margin: 0; padding: 0; }
.ntegrity-drawer-item { display: grid; grid-template-columns: 72px minmax(0,1fr) auto; gap: 14px; padding: 17px 0; border-top: 1px solid rgba(92,120,214,.25); }
.ntegrity-drawer-item__image img { display: block; width: 72px; height: 72px; object-fit: contain; background: #eef1f7; border-radius: 9px; }
.ntegrity-drawer-item__name { display: block; margin-bottom: 4px; color: #fff; font-weight: 750; text-decoration: none; }
.ntegrity-drawer-item__meta { color: #9ca9c3; font-size: 11px; }
.ntegrity-drawer-item__aside { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; }
.ntegrity-drawer-item__price { color: #dfe6f6; font-weight: 750; white-space: nowrap; }
.ntegrity-drawer-item__remove { border: 0; background: transparent; color: #97a3bc; font-size: 24px; cursor: pointer; }
.ntegrity-drawer-item__controls { display: inline-grid; grid-template-columns: 36px 46px 36px; margin-top: 11px; overflow: hidden; border: 1px solid rgba(113,132,196,.45); border-radius: 7px; }
.ntegrity-drawer-item__controls button,
.ntegrity-drawer-item__controls input[type=number] { display: block !important; width: auto !important; min-width: 0 !important; height: 36px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: rgba(255,255,255,.045) !important; color: #fff !important; -webkit-text-fill-color: #fff !important; text-align: center; opacity: 1 !important; }
.ntegrity-drawer-item__controls input[type=number] { width: 46px !important; border-right: 1px solid rgba(113,132,196,.35) !important; border-left: 1px solid rgba(113,132,196,.35) !important; appearance: textfield; }
.ntegrity-drawer-item__controls button { cursor: pointer; font-size: 17px; }
.ntegrity-cart-drawer__empty { padding: 60px 10px; text-align: center; }
.ntegrity-cart-drawer__footer { padding: 18px 24px 24px; border-top: 1px solid rgba(92,120,214,.34); background: rgba(7, 13, 29, .98); box-shadow: 0 -12px 36px rgba(0,0,0,.18); }
.ntegrity-drawer-total { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 9px; color: #aeb9ce; }
.ntegrity-drawer-total strong { color: #fff; }
.ntegrity-cart-drawer__checkout { display: block; margin-top: 17px; padding: 16px 18px; background: linear-gradient(100deg, #2066f9, #8b3fc7); border-radius: 8px; color: #fff !important; font-weight: 800; text-align: center; text-decoration: none; text-transform: uppercase; }
.ntegrity-cart-drawer.is-loading .ntegrity-cart-drawer__inner { opacity: .55; pointer-events: none; }
body.ntegrity-cart-open { overflow: hidden; }

@media (max-width: 760px) {
	.ntegrity-site.woocommerce-cart form.woocommerce-cart-form { overflow-x: auto !important; }
	.ntegrity-site.woocommerce-cart .woocommerce-cart-form table.shop_table { min-width: 640px !important; }
	.ntegrity-site.woocommerce-cart .woocommerce-cart-form td.actions .coupon { float: none !important; width: 100% !important; }
	.ntegrity-site.woocommerce-cart .woocommerce-cart-form td.actions > .button { float: none !important; width: 100% !important; margin-top: 10px !important; }
}
@media (max-width: 520px) {
	.ntegrity-cart-drawer__header, .ntegrity-cart-drawer__body, .ntegrity-cart-drawer__footer { padding-right: 16px; padding-left: 16px; }
	.ntegrity-drawer-item { grid-template-columns: 58px minmax(0,1fr) auto; gap: 10px; }
	.ntegrity-drawer-item__image img { width: 58px; height: 58px; }
}

/* Cart page: neutralize WooCommerce floats before applying the Ntegrity grid. */
.ntegrity-site.woocommerce-cart .entry-content > .woocommerce,
.ntegrity-site.woocommerce-cart main .woocommerce {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 28px !important;
	align-items: start !important;
	width: 100% !important;
}
.ntegrity-site.woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1 / -1 !important; }
.ntegrity-site.woocommerce-cart form.woocommerce-cart-form {
	float: none !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}
.ntegrity-site.woocommerce-cart .woocommerce-cart-form table.shop_table {
	width: 100% !important;
	margin: 0 !important;
	table-layout: auto !important;
}
.ntegrity-site.woocommerce-cart .woocommerce-cart-form table.shop_table th,
.ntegrity-site.woocommerce-cart .woocommerce-cart-form table.shop_table td { padding: 14px 12px !important; vertical-align: middle !important; }
.ntegrity-site.woocommerce-cart .woocommerce-cart-form .product-remove { width: 42px !important; text-align: center; }
.ntegrity-site.woocommerce-cart .woocommerce-cart-form .product-thumbnail { width: 72px !important; }
.ntegrity-site.woocommerce-cart .woocommerce-cart-form .product-name { width: auto !important; min-width: 0 !important; }
.ntegrity-site.woocommerce-cart .woocommerce-cart-form .product-price,
.ntegrity-site.woocommerce-cart .woocommerce-cart-form .product-subtotal { width: 105px !important; white-space: nowrap; }
.ntegrity-site.woocommerce-cart .woocommerce-cart-form .product-quantity { width: 104px !important; }
.ntegrity-site.woocommerce-cart .woocommerce-cart-form .quantity { min-width: 82px !important; }
.ntegrity-site.woocommerce-cart .woocommerce-cart-form .quantity .qty {
	display: block !important;
	width: 82px !important;
	min-width: 82px !important;
	height: 50px !important;
	padding: 8px 10px !important;
	background: #f7f8fb !important;
	border: 1px solid #bac5da !important;
	border-radius: 8px !important;
	color: #111318 !important;
	-webkit-text-fill-color: #111318 !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	opacity: 1 !important;
}
.ntegrity-site.woocommerce-cart .woocommerce-cart-form td.actions {
	display: table-cell !important;
	width: auto !important;
	padding: 16px 12px !important;
}
.ntegrity-site.woocommerce-cart .woocommerce-cart-form td.actions .coupon {
	display: grid !important;
	grid-template-columns: minmax(140px, 1fr) auto !important;
	gap: 10px !important;
	float: left !important;
	width: min(100%, 410px) !important;
}
.ntegrity-site.woocommerce-cart .woocommerce-cart-form td.actions .coupon .input-text {
	width: 100% !important;
	min-width: 0 !important;
	height: 46px !important;
	margin: 0 !important;
}
.ntegrity-site.woocommerce-cart .woocommerce-cart-form td.actions > .button {
	position: static !important;
	float: right !important;
	margin: 0 !important;
	white-space: nowrap !important;
}
.ntegrity-site.woocommerce-cart .woocommerce-cart-form td.actions::after { content: ""; display: block; clear: both; }
.ntegrity-site.woocommerce-cart .cart-collaterals {
	float: none !important;
	width: min(100%, 560px) !important;
	min-width: 0 !important;
	margin: 0 0 0 auto !important;
}
.ntegrity-site.woocommerce-cart .cart-collaterals .cart_totals {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

/* Off-canvas cart drawer. */
.ntegrity-cart-drawer { position: fixed; inset: 0; z-index: 1000000; visibility: hidden; pointer-events: none; }
.ntegrity-cart-drawer.is-open { visibility: visible; pointer-events: auto; }
.ntegrity-cart-drawer__overlay,
.ntegrity-cart-drawer__overlay:hover,
.ntegrity-cart-drawer__overlay:focus { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: rgba(2, 6, 17, .72) !important; box-shadow: none !important; opacity: 0; transition: opacity .24s ease; }
.ntegrity-cart-drawer.is-open .ntegrity-cart-drawer__overlay { opacity: 1; }
.ntegrity-cart-drawer__panel { position: absolute; top: 0; right: 0; width: min(480px, 100vw); height: 100%; overflow: hidden; background: linear-gradient(160deg, #121c38, #070d1d 76%); border-left: 1px solid rgba(92, 120, 214, .42); box-shadow: -24px 0 70px rgba(0,0,0,.5); color: #eef2fb; transform: translateX(102%); transition: transform .28s ease; }
.ntegrity-cart-drawer.is-open .ntegrity-cart-drawer__panel { transform: translateX(0); }
.ntegrity-cart-drawer__inner { display: flex; flex-direction: column; height: 100%; }
.ntegrity-cart-drawer__header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 24px; border-bottom: 1px solid rgba(92,120,214,.34); }
.ntegrity-cart-drawer__header h2 { margin: 3px 0 0; color: #fff; font-size: 27px; line-height: 1.05; }
.ntegrity-cart-drawer__eyebrow { color: #9ba9c6; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.ntegrity-cart-drawer__close { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid rgba(113,132,196,.38); border-radius: 50%; background: rgba(255,255,255,.035); color: #fff; font-size: 30px; line-height: 1; cursor: pointer; }
.ntegrity-cart-drawer__body { flex: 1; min-height: 0; overflow-y: auto; padding: 18px 24px; }
.ntegrity-cart-drawer__continue { display: inline-block; margin-bottom: 14px; color: #91aaff; font-size: 13px; text-decoration: none; }
.ntegrity-drawer-items { list-style: none; margin: 0; padding: 0; }
.ntegrity-drawer-item { display: grid; grid-template-columns: 72px minmax(0,1fr) auto; gap: 14px; padding: 17px 0; border-top: 1px solid rgba(92,120,214,.25); }
.ntegrity-drawer-item__image img { display: block; width: 72px; height: 72px; object-fit: contain; background: #eef1f7; border-radius: 9px; }
.ntegrity-drawer-item__name { display: block; margin-bottom: 4px; color: #fff; font-weight: 750; text-decoration: none; }
.ntegrity-drawer-item__meta { color: #9ca9c3; font-size: 11px; }
.ntegrity-drawer-item__aside { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; }
.ntegrity-drawer-item__price { color: #dfe6f6; font-weight: 750; white-space: nowrap; }
.ntegrity-drawer-item__remove { border: 0; background: transparent; color: #97a3bc; font-size: 24px; cursor: pointer; }
.ntegrity-drawer-item__controls { display: inline-grid; grid-template-columns: 36px 46px 36px; margin-top: 11px; overflow: hidden; border: 1px solid rgba(113,132,196,.45); border-radius: 7px; }
.ntegrity-drawer-item__controls button,
.ntegrity-drawer-item__controls input[type=number] { display: block !important; width: auto !important; min-width: 0 !important; height: 36px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: rgba(255,255,255,.045) !important; color: #fff !important; -webkit-text-fill-color: #fff !important; text-align: center; opacity: 1 !important; }
.ntegrity-drawer-item__controls input[type=number] { width: 46px !important; border-right: 1px solid rgba(113,132,196,.35) !important; border-left: 1px solid rgba(113,132,196,.35) !important; appearance: textfield; }
.ntegrity-drawer-item__controls button { cursor: pointer; font-size: 17px; }
.ntegrity-cart-drawer__empty { padding: 60px 10px; text-align: center; }
.ntegrity-cart-drawer__footer { padding: 18px 24px 24px; border-top: 1px solid rgba(92,120,214,.34); background: rgba(7, 13, 29, .98); box-shadow: 0 -12px 36px rgba(0,0,0,.18); }
.ntegrity-drawer-total { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 9px; color: #aeb9ce; }
.ntegrity-drawer-total strong { color: #fff; }
.ntegrity-cart-drawer__checkout { display: block; margin-top: 17px; padding: 16px 18px; background: linear-gradient(100deg, #2066f9, #8b3fc7); border-radius: 8px; color: #fff !important; font-weight: 800; text-align: center; text-decoration: none; text-transform: uppercase; }
.ntegrity-cart-drawer.is-loading .ntegrity-cart-drawer__inner { opacity: .55; pointer-events: none; }
body.ntegrity-cart-open { overflow: hidden; }

@media (max-width: 760px) {
	.ntegrity-site.woocommerce-cart form.woocommerce-cart-form { overflow-x: auto !important; }
	.ntegrity-site.woocommerce-cart .woocommerce-cart-form table.shop_table { min-width: 640px !important; }
	.ntegrity-site.woocommerce-cart .woocommerce-cart-form td.actions .coupon { float: none !important; width: 100% !important; }
	.ntegrity-site.woocommerce-cart .woocommerce-cart-form td.actions > .button { float: none !important; width: 100% !important; margin-top: 10px !important; }
}
@media (max-width: 520px) {
	.ntegrity-cart-drawer__header, .ntegrity-cart-drawer__body, .ntegrity-cart-drawer__footer { padding-right: 16px; padding-left: 16px; }
	.ntegrity-drawer-item { grid-template-columns: 58px minmax(0,1fr) auto; gap: 10px; }
	.ntegrity-drawer-item__image img { width: 58px; height: 58px; }
}

