.wcigr-app-shop{
	--wcigr-app-surface:#ffffff;
	--wcigr-app-border:rgba(148,163,184,.30);
	--wcigr-app-shadow:0 14px 40px rgba(2,6,23,.06);
}

body.wcigr-app-shop{
	font-family:Roboto,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}

/* Modernize cart + checkout containers (safe, minimal selectors). */
body.wcigr-app-shop .woocommerce{
	max-width:1100px;
	margin-left:auto;
	margin-right:auto;
}

body.wcigr-app-shop .woocommerce-message,
body.wcigr-app-shop .woocommerce-info,
body.wcigr-app-shop .woocommerce-error{
	border-radius:16px;
	box-shadow:0 10px 30px rgba(2,6,23,.05);
}

body.wcigr-app-cart .woocommerce-cart-form,
body.wcigr-app-checkout form.checkout{
	background:var(--wcigr-app-surface);
	border:1px solid var(--wcigr-app-border);
	border-radius:12px;
	box-shadow:var(--wcigr-app-shadow);
	padding:8px;
}

/* Billing details + fields — compact, modern */
body.wcigr-app-checkout .woocommerce-billing-fields,
body.wcigr-app-checkout .woocommerce-shipping-fields,
body.wcigr-app-checkout .woocommerce-additional-fields{
	background:var(--wcigr-app-surface);
	border:1px solid var(--wcigr-app-border);
	border-radius:12px;
	box-shadow:var(--wcigr-app-shadow);
	padding:8px 10px;
	margin-bottom:8px;
}
body.wcigr-app-checkout .woocommerce-billing-fields h3,
body.wcigr-app-checkout .woocommerce-shipping-fields h3,
body.wcigr-app-checkout .woocommerce-additional-fields h3{
	margin:0 0 8px;
	font-size:0.92rem;
	font-weight:800;
	letter-spacing:-.01em;
	color:#0f172a;
}
body.wcigr-app-checkout .woocommerce form .form-row{
	margin-bottom:0.45rem;
}
body.wcigr-app-checkout .woocommerce form .form-row label{
	font-weight:700;
	font-size:0.78rem;
	color:#64748b;
	margin-bottom:0.25rem;
}
body.wcigr-app-checkout .woocommerce form .form-row input.input-text,
body.wcigr-app-checkout .woocommerce form .form-row textarea,
body.wcigr-app-checkout .woocommerce form .form-row select{
	border:1px solid var(--wcigr-app-border);
	border-radius:10px;
	min-height:38px;
	padding:7px 10px;
	font-size:16px;
	line-height:1.35;
	background:#fff;
}
body.wcigr-app-checkout .woocommerce form .form-row input.input-text:focus,
body.wcigr-app-checkout .woocommerce form .form-row textarea:focus,
body.wcigr-app-checkout .woocommerce form .form-row select:focus{
	outline:none;
	border-color:var(--wcigr-app-accent,#2563eb);
	box-shadow:0 0 0 3px rgba(37,99,235,.18);
}

body.wcigr-app-checkout #order_review,
body.wcigr-app-checkout #payment{
	background:var(--wcigr-app-surface);
	border:1px solid var(--wcigr-app-border);
	border-radius:12px;
	box-shadow:var(--wcigr-app-shadow);
	padding:8px 10px;
}

/* Order summary table */
body.wcigr-app-checkout .woocommerce-checkout-review-order-table{
	border:0;
	border-radius:14px;
	overflow:hidden;
}
body.wcigr-app-checkout .woocommerce-checkout-review-order-table thead th{
	background:rgba(2,6,23,.04);
	border-bottom:1px solid var(--wcigr-app-border);
	font-weight:900;
}
body.wcigr-app-checkout .woocommerce-checkout-review-order-table th,
body.wcigr-app-checkout .woocommerce-checkout-review-order-table td{
	padding:6px 5px;
	font-size:0.8rem;
	border-color:var(--wcigr-app-border);
	vertical-align:middle;
}

body.wcigr-app-checkout .woocommerce-checkout-review-order-table .product-name{
	font-size:0.78rem;
	font-weight:700;
	line-height:1.25;
}

body.wcigr-app-checkout .woocommerce-checkout-review-order-table .product-name img,
body.wcigr-app-checkout .woocommerce-checkout-review-order-table .product-thumbnail img{
	width:36px!important;
	max-width:36px!important;
	max-height:36px!important;
	object-fit:contain;
	margin:0 6px 0 0!important;
	border-radius:6px;
	border:1px solid var(--wcigr-app-border);
	vertical-align:middle;
}

body.wcigr-app-checkout .woocommerce-checkout-review-order-table .quantity{
	display:inline-flex;
	align-items:center;
	gap:2px;
	margin:4px 0 0;
}

body.wcigr-app-checkout .woocommerce-checkout-review-order-table .quantity .qty{
	min-height:26px!important;
	height:26px!important;
	width:2.1em!important;
	min-width:2.1em!important;
	padding:1px 4px!important;
	font-size:0.78rem!important;
	border-radius:6px!important;
	font-weight:800!important;
}

body.wcigr-app-checkout .woocommerce-checkout-review-order-table .quantity .minus,
body.wcigr-app-checkout .woocommerce-checkout-review-order-table .quantity .plus,
body.wcigr-app-checkout .woocommerce-checkout-review-order-table .quantity button{
	min-width:26px!important;
	width:26px!important;
	min-height:26px!important;
	height:26px!important;
	padding:0!important;
	font-size:15px!important;
	line-height:1!important;
	border-radius:6px!important;
}

/* Checkout order summary alignment polish */
body.wcigr-app-checkout #order_review{
	overflow:hidden;
}
body.wcigr-app-checkout .woocommerce-checkout-review-order-table td:last-child,
body.wcigr-app-checkout .woocommerce-checkout-review-order-table th:last-child{
	text-align:right;
	white-space:nowrap;
}
body.wcigr-app-checkout .woocommerce-checkout-review-order-table td:first-child,
body.wcigr-app-checkout .woocommerce-checkout-review-order-table th:first-child{
	text-align:left;
}
body.wcigr-app-checkout .woocommerce-checkout-review-order-table .product-name{
	font-weight:900;
}
body.wcigr-app-checkout .woocommerce-checkout-review-order-table .product-total{
	font-weight:900;
}

@media (max-width: 760px){
	body.wcigr-app-checkout #order_review{padding:8px 7px}
	body.wcigr-app-checkout .woocommerce-checkout-review-order-table tr{
		display:grid;
		grid-template-columns:1fr auto;
		gap:5px 8px;
		align-items:center;
		padding:6px 0;
		border-bottom:1px solid var(--wcigr-app-border);
	}
	body.wcigr-app-checkout .woocommerce-checkout-review-order-table tr:last-child{border-bottom:0}
	body.wcigr-app-checkout .woocommerce-checkout-review-order-table td,
	body.wcigr-app-checkout .woocommerce-checkout-review-order-table th{
		border:0;
		padding:0;
		display:block;
	}
}
body.wcigr-app-checkout .woocommerce-checkout-review-order-table .order-total td,
body.wcigr-app-checkout .woocommerce-checkout-review-order-table .order-total th{
	font-weight:900;
}

@media (max-width: 760px){
	body.wcigr-app-checkout .woocommerce-checkout-review-order-table thead{display:none}
}

/* Payment methods as cards */
body.wcigr-app-checkout #payment ul.payment_methods li{
	border:1px solid var(--wcigr-app-border);
	border-radius:12px;
	padding:8px 10px;
	margin:6px 0;
	background:#fff;
	font-size:0.85rem;
}

body.wcigr-app-checkout #payment ul.payment_methods li.wc_payment_method input{
	transform:scale(1.1);
}

/* Buttons: material-ish */
body.wcigr-app-shop .button,
body.wcigr-app-shop button,
body.wcigr-app-shop input[type="submit"]{
	border-radius:14px !important;
}

/* Sticky bottom CTA — must sit above .wcigr-bm (z-index 999999) when the bottom menu is on */
.wcigr-app-cta{
	position:fixed;
	left:10px;
	right:10px;
	bottom:calc(10px + env(safe-area-inset-bottom));
	z-index:9997;
	background:rgba(255,255,255,.94);
	backdrop-filter:blur(12px);
	-webkit-backdrop-filter:blur(12px);
	border:1px solid var(--wcigr-app-border);
	border-radius:14px;
	box-shadow:0 14px 40px rgba(2,6,23,.12);
	padding:8px 10px;
	display:flex;
	gap:8px;
	align-items:center;
	justify-content:space-between;
}
.wcigr-app-cta[hidden]{display:none}
.wcigr-app-cta__meta{min-width:0}
.wcigr-app-cta__title{margin:0;font-weight:800;font-size:11px;color:#0f172a;line-height:1.2}
.wcigr-app-cta__sub{margin:1px 0 0;font-weight:800;color:#2563eb;font-size:10px;line-height:1.2}
.wcigr-app-cta__btn{
	appearance:none;
	border:0;
	background:var(--wcigr-app-accent,#2563eb);
	color:#fff;
	border-radius:11px;
	padding:8px 12px;
	font-size:12px;
	font-weight:800;
	white-space:nowrap;
	box-shadow:0 8px 22px rgba(37,99,235,.22);
}
.wcigr-app-cta__btn:active{transform:scale(.99)}

body.wcigr-bm-on .wcigr-app-cta{
	z-index:1000000;
	bottom:calc(10px + var(--wcigr-bm-h, 74px) + env(safe-area-inset-bottom));
}

/* Make room for sticky CTA */
body.wcigr-app-shop{padding-bottom:calc(92px + env(safe-area-inset-bottom)) !important}
body.wcigr-bm-on.wcigr-app-shop{padding-bottom:calc(92px + var(--wcigr-bm-h, 74px) + env(safe-area-inset-bottom)) !important}

/* Fallback when modern checkout CSS is off: still lift Place order above the bottom menu */
@media (max-width: 768px) {
	body.wcigr-bm-on.woocommerce-checkout:not(.woocommerce-order-received):not(.wcigr-modern-checkout) #place_order {
		position: fixed;
		left: max(12px, env(safe-area-inset-left));
		right: max(12px, env(safe-area-inset-right));
		bottom: calc(var(--wcigr-bm-h, 74px) + 10px + env(safe-area-inset-bottom, 0px));
		z-index: 1000000;
		width: auto;
		min-height: 50px;
	}
	body.wcigr-bm-on.woocommerce-checkout:not(.woocommerce-order-received):not(.wcigr-modern-checkout) form.checkout {
		padding-bottom: calc(120px + var(--wcigr-bm-h, 74px) + env(safe-area-inset-bottom, 0px));
	}
}

/* Cart page: clearer remove + empty cart */
body.wcigr-app-cart .woocommerce-cart-form .product-remove a.remove{
	min-width:44px;
	min-height:44px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-size:22px;
	font-weight:900;
	line-height:1;
	border-radius:12px;
	background:#f1f5f9;
	color:#64748b!important;
	text-decoration:none!important;
}
body.wcigr-app-cart .woocommerce-cart-form .product-remove a.remove:hover{
	background:#fee2e2;
	color:#b91c1c!important;
}
body.wcigr-app-cart .woocommerce-cart-form .product-remove{
	text-align:center;
	vertical-align:middle;
}
body.wcigr-app-cart .cart .wcigr-cart-page-empty{
	margin-left:8px;
	border:1px solid #fecaca!important;
	background:#fff1f2!important;
	color:#b91c1c!important;
	font-weight:800!important;
}

