/* WooCommerce light-theme overrides for Codirextech */

.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; list-style: none; padding: 0; }
.woocommerce ul.products li.product {
	background: var(--cx-surface);
	border: 1px solid var(--cx-border);
	border-radius: var(--cx-radius);
	padding: 20px;
	box-shadow: var(--cx-shadow-sm);
	transition: transform .25s ease, box-shadow .25s ease;
}
.woocommerce ul.products li.product:hover { transform: translateY(-6px); box-shadow: var(--cx-shadow-md); }
.woocommerce ul.products li.product img { border-radius: 10px; }
.woocommerce ul.products li.product .price { color: var(--cx-primary); font-weight: 700; }

.woocommerce span.onsale {
	background: var(--cx-primary);
	border-radius: 999px;
}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background: linear-gradient(135deg, var(--cx-primary), var(--cx-accent));
	color: #fff;
	border-radius: 10px;
	box-shadow: 0 5px 0 var(--cx-primary-dark);
	border: none;
	padding: 12px 22px;
	font-weight: 600;
	transition: transform .15s ease;
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	transform: translateY(-2px);
	color: #fff;
}

.woocommerce table.shop_table {
	border-radius: var(--cx-radius);
	overflow: hidden;
	border: 1px solid var(--cx-border);
}
.woocommerce table.shop_table th { background: #F1F4FA; }

.woocommerce-checkout #payment {
	background: var(--cx-surface);
	border: 1px solid var(--cx-border);
	border-radius: var(--cx-radius);
	box-shadow: var(--cx-shadow-sm);
}
.woocommerce-checkout #payment div.payment_box {
	background: #F7F9FC;
	border-radius: 10px;
}
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #F7F9FC; }

.woocommerce-invoice-qr {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	background: #fff;
	border: 1px solid var(--cx-border);
	border-radius: var(--cx-radius);
	padding: 20px;
	box-shadow: var(--cx-shadow-sm);
}
.woocommerce-invoice-qr img { width: 180px; height: 180px; }

@media (max-width: 900px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.woocommerce ul.products { grid-template-columns: 1fr; }
}

/* Bank transfer / invoice notice on the order-received page and emails */
.codirextech-bank-transfer-notice {
	background: var(--cx-surface);
	border: 1px solid var(--cx-border);
	border-radius: var(--cx-radius);
	padding: 28px;
	margin: 24px 0;
	box-shadow: var(--cx-shadow-sm);
}
.cx-bank-table { width: 100%; border-collapse: collapse; margin: 16px 0; }
.cx-bank-table th, .cx-bank-table td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--cx-border); font-size: 0.92rem; }
.cx-bank-table th { width: 40%; color: var(--cx-text-muted); font-weight: 600; }
.cx-invoice-links { display: flex; gap: 12px; margin-top: 16px; }

.cx-preview-nav { max-width: 100%; display: flex; justify-content: space-between; margin: 0 0 16px; font-size: 0.9rem; }
.cx-preview-nav a { color: var(--cx-text-muted); font-weight: 500; }
.cx-preview-nav a:hover { color: var(--cx-primary); }

/* Step 1: company details + "your details" form, side by side */
.cx-step-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 24px; align-items: start; max-width: 920px; margin: 0 auto; }
.cx-company-details h2, .cx-amount-form-wrap h2 { margin-top: 0; font-size: 1.1rem; }
.cx-company-details p { margin: 4px 0; color: var(--cx-text-muted); font-size: 0.92rem; }
.cx-company-name { font-weight: 700; color: var(--cx-text) !important; font-size: 1rem; }
.cx-tax-note { margin-top: 16px !important; padding: 10px 12px; background: #F1F4FA; border-radius: 8px; font-size: 0.85rem !important; }

.cx-amount-form .form-row { margin-bottom: 18px; }
.cx-amount-form .form-row-group { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cx-amount-form label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 0.9rem; }
.cx-amount-form input {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--cx-border);
	border-radius: 10px;
	font-size: 0.95rem;
	font-family: inherit;
	background: #FBFCFE;
}
.cx-amount-form input:focus { outline: none; border-color: var(--cx-primary); box-shadow: 0 0 0 3px rgba(59,91,255,0.15); }
.cx-amount-form h2:not(:first-child) { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--cx-border); }

.cx-line-items { display: flex; flex-direction: column; gap: 4px; }
.cx-line-item { display: flex; align-items: flex-start; gap: 10px; padding-bottom: 6px; margin-bottom: 10px; border-bottom: 1px dashed var(--cx-border); }
.cx-line-item:last-child { border-bottom: none; }
.cx-line-item .form-row-group { flex: 1; }
.cx-line-item-remove {
	flex-shrink: 0;
	width: 30px; height: 30px;
	margin-top: 28px;
	border-radius: 8px;
	border: 1px solid var(--cx-border);
	background: #FBFCFE;
	color: var(--cx-text-muted);
	font-size: 1.1rem;
	line-height: 1;
	cursor: pointer;
}
.cx-line-item-remove:hover { color: #C22B37; border-color: #F6C6CA; background: #FDEDEE; }
.cx-add-item-btn { width: 100%; margin-bottom: 20px; font-size: 0.9rem; padding: 10px 16px; }

@media (max-width: 800px) {
	.cx-step-grid { grid-template-columns: 1fr; }
	.cx-amount-form .form-row-group { grid-template-columns: 1fr; }
}

/* Invoice preview block shown above the checkout form */
.cx-checkout-invoice-preview { margin-bottom: 28px; }
.cx-invoice-preview-header { display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--cx-border); padding-bottom: 16px; margin-bottom: 16px; flex-wrap: wrap; }
.cx-invoice-preview-header h2 { margin: 8px 0 4px; font-size: 1.1rem; }
.cx-invoice-preview-header p { margin: 0; color: var(--cx-text-muted); font-size: 0.85rem; }
.cx-invoice-preview-meta { text-align: right; }
.cx-invoice-preview-meta h3 { margin: 0 0 4px; font-size: 1rem; }
.cx-invoice-preview-meta p { margin: 0; color: var(--cx-text-muted); font-size: 0.8rem; max-width: 260px; }
.cx-invoice-preview-bank { background: #F1F4FA; border-radius: 10px; padding: 12px 16px; font-size: 0.85rem; margin-bottom: 16px; }
.cx-invoice-preview-bank small { display: block; margin-top: 6px; color: var(--cx-text-muted); }
.cx-invoice-qr-block { text-align: center; margin: 20px 0 4px; }
.cx-invoice-qr-block img { width: 140px; height: 140px; }
.cx-invoice-qr-block p { font-size: 0.8rem; color: var(--cx-text-muted); }
.cx-invoice-preview-totals { display: flex; justify-content: flex-end; margin-bottom: 16px; }
.cx-invoice-preview-totals table { border-collapse: collapse; min-width: 240px; }
.cx-invoice-preview-totals th, .cx-invoice-preview-totals td { padding: 6px 4px; font-size: 0.9rem; text-align: right; }
.cx-invoice-grand-total th, .cx-invoice-grand-total td { border-top: 2px solid var(--cx-text); font-size: 1.05rem; font-weight: 700; padding-top: 10px; }
.cx-pay-now-row { text-align: center; margin: 8px 0 20px; }

.cx-currency-converter {
	background: #F1F4FA;
	border-radius: 10px;
	padding: 14px 16px;
	margin-bottom: 20px;
}
.cx-currency-converter label { display: block; font-weight: 600; font-size: 0.85rem; margin-bottom: 8px; }
.cx-currency-converter-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.cx-currency-select {
	padding: 8px 10px;
	border-radius: 8px;
	border: 1px solid var(--cx-border);
	background: #fff;
	font-size: 0.9rem;
}
.cx-currency-converted-amount { font-weight: 700; color: var(--cx-primary); font-size: 1rem; }
.cx-currency-converter small { display: block; margin-top: 8px; color: var(--cx-text-muted); }

.cx-invoice-logo {
	width: 40px; height: 40px; border-radius: 10px;
	background: linear-gradient(135deg, var(--cx-primary), var(--cx-accent)); color: #fff;
	display: flex; align-items: center; justify-content: center; font-weight: 800;
}
table.cx-invoice-items { width: 100%; border-collapse: collapse; margin-bottom: 16px; }
table.cx-invoice-items th, table.cx-invoice-items td { padding: 10px 8px; border-bottom: 1px solid var(--cx-border); text-align: left; font-size: 0.9rem; }
table.cx-invoice-items th { background: #F1F4FA; }
table.cx-invoice-items th:last-child, table.cx-invoice-items td:last-child { text-align: right; }

@media (max-width: 640px) {
	.cx-invoice-preview-meta { text-align: left; }
}
