/* ============================================================
   MEGA LAB PEPTIDES - WOOCOMMERCE CHECKOUT (extract-only, was inline in woocommerce/checkout/form-checkout.php)
   Extracted in design-refresh-v2 Phase 4a (Ticket 7).
   ============================================================ */

/* ================================================================
   MEGA LAB CHECKOUT — Round 5
   ================================================================ */

/* ---- Blocksy nuclear ---- */
body[class*="checkout"] .site,
body[class*="checkout"] .site-main,
body[class*="checkout"] .ct-main,
body[class*="checkout"] .ct-container,
body[class*="checkout"] .ct-container-narrow,
body[class*="checkout"] .ct-container-full,
body[class*="checkout"] .entry-content,
body[class*="checkout"] article,
body[class*="checkout"] .hentry,
body[class*="checkout"] .post-content,
body[class*="checkout"] .content-area,
body[class*="checkout"] [data-content],
body[class*="checkout"] .woocommerce,
body[class*="checkout"] div[class*="ct-container"] {
	width: 100% !important; max-width: 100% !important;
	padding: 0 !important; margin: 0 !important;
	float: none !important; box-sizing: border-box !important;
}
body[class*="checkout"] .hero-section,
body[class*="checkout"] .entry-header,
body[class*="checkout"] .page-title,
body[class*="checkout"] h1.entry-title {
	display: none !important; margin: 0 !important;
	padding: 0 !important; height: 0 !important;
}
body[class*="checkout"] .ct-main,
body[class*="checkout"] .entry-content,
body.woocommerce-checkout .ct-main,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .ct-container-full {
	padding: 0 !important; margin: 0 !important;
}
form.woocommerce-checkout,
form.ct-woocommerce-checkout,
body[class*="checkout"] form.checkout,
body[class*="checkout"] form.woocommerce-checkout,
body.woocommerce-checkout form.ct-woocommerce-checkout {
	display: block !important; width: 100% !important;
	max-width: 100% !important; padding: 0 !important;
	margin: 0 !important; grid-template-columns: none !important;
}

/* Nuke Blocksy ct-order-review */
.mlco-summary .ct-order-review,
.mlco-summary div.ct-order-review {
	border: none !important; padding: 0 !important;
	margin: 0 !important; background: transparent !important;
}

/* Hide order notes */
.mlco-wrap .woocommerce-additional-fields,
.mlco-wrap #order_comments_field,
.mlco-wrap .woocommerce-additional-fields__field-wrapper {
	display: none !important;
}

/* ---- Wrapper ---- */
.mlco-wrap {
	font-family: var(--f-display); color: var(--c-dark);
	background: var(--c-off);
	width: 100% !important; max-width: 100% !important;
	margin: 0 !important; padding: 0 !important;
}

/* ---- Hero ---- */
.mlco-hero-section {
	background: var(--c-dark); padding-block: 64px;
	text-align: center; display: flex; flex-direction: column;
	align-items: center; justify-content: center; min-height: 200px;
}
.mlco-hero__label {
	display: inline-block; font-family: var(--f-mono);
	font-size: var(--t-eyebrow); color: var(--n-300); /* 4c.2: light grey on navy, 12.9:1 (the --n-700 fallback was 3.1:1) */
	border: 1px solid var(--c-primary); padding: 0.25rem 0.75rem;
	margin-bottom: 1rem; font-weight: 600; letter-spacing: var(--ls-eyebrow);}
.mlco-hero__title { font-weight: 700;
	color: #fff; margin: 0 0 0.5rem;
}
.mlco-hero__sub { font-size: var(--t-lead); color: rgba(255,255,255,0.55); margin: 0; }

/* ---- Steps ---- */
.mlco-steps-bar {
	background: var(--c-dark); border-top: 1px solid rgba(255,255,255,0.06);
	padding-top: 16px; padding-bottom: 24px; display: flex; justify-content: center;
}
.mlco-steps-bar__rail { display: flex; align-items: center; justify-content: center; gap: 24px; }
.mlco-step {
	display: flex; align-items: center; gap: 0.5rem;
	font-size: var(--t-label); font-family: var(--f-mono);
	color: rgba(255,255,255,0.3); padding: 0 1.5rem; position: relative;
}
.mlco-step--active { color: var(--c-primary); }
.mlco-step--done { color: var(--c-accent); }
.mlco-step__num {
	width: 20px; height: 20px; border-radius: 50%;
	border: 1px solid currentColor; display: flex;
	align-items: center; justify-content: center;
	font-size: var(--t-label); flex-shrink: 0;
}
.mlco-step--done .mlco-step__num { background: var(--c-accent); border-color: var(--c-accent); color: #fff; }
.mlco-step--active .mlco-step__num { background: var(--c-primary); border-color: var(--c-primary); color: #fff; }
.mlco-step + .mlco-step::before {
	content: ''; position: absolute; left: 0; top: 50%;
	width: 1px; height: 16px; background: rgba(255,255,255,0.1);
	transform: translateY(-50%);
}

/* ---- Trust ---- */
.mlco-trust-bar {
	background: #fff; border-bottom: 1px solid var(--c-border);
	padding-block: 12px; display: flex; justify-content: center;
	gap: 2rem; flex-wrap: wrap;
}
.mlco-trust-bar__rail { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 28px; }
.mlco-trust__item {
	display: flex; align-items: center; gap: 0.4rem;
	font-size: var(--t-small); font-family: var(--f-mono);
	color: var(--c-text-2);
}
.mlco-trust__item i { color: var(--c-accent); font-size: 0.9rem; }

/* ---- Grid ---- */
.mlco-body-grid {
	display: grid !important; grid-template-columns: 1fr 440px !important;
	gap: 32px !important;
	padding-top: 40px !important; padding-bottom: 80px !important;
	align-items: start !important;
}
.mlco-left {
	width: 100% !important; min-width: 0 !important; max-width: 100% !important;
}
.mlco-left > *, .mlco-left .mlco-card__body,
.mlco-left .woocommerce-billing-fields,
.mlco-left .woocommerce-billing-fields__field-wrapper,
.mlco-left .woocommerce-shipping-fields,
.mlco-left #customer_details, .mlco-left .col-1, .mlco-left .col-2 {
	width: 100% !important; max-width: 100% !important;
	min-width: 0 !important; box-sizing: border-box !important;
	float: none !important;
}
.mlco-summary {
	position: sticky; top: 100px;
	width: 100% !important; min-width: 0 !important;
}

/* ---- Left cards ---- */
.mlco-card { background: #fff; border: 1px solid var(--c-border); }
.mlco-card + .mlco-card { margin-top: 20px; }
.mlco-card__head {
	background: var(--c-dark); padding: 14px 20px;
	display: flex; align-items: center; gap: 0.6rem;
}
.mlco-card__head-title {
	font-size: var(--t-label); font-weight: 600; color: #fff; font-family: var(--f-mono); margin: 0;
}
.mlco-card__head i { color: var(--c-primary); font-size: 1rem; }
.mlco-card__body { padding: 24px 20px; }

/* ════════════════════════════════════════════════════════════════════
   RIGHT COLUMN — flat structure, no card wrapping WC output
   ════════════════════════════════════════════════════════════════════ */

/* Summary header — looks like a card header, border continues down */
.mlco-summary-header {
	background: var(--c-dark); padding: 14px 20px;
	display: flex; align-items: center; gap: 0.6rem;
	border: 1px solid var(--c-border); border-bottom: none;
}
.mlco-summary-header h3 {
	font-size: var(--t-label); font-weight: 600; color: #fff; font-family: var(--f-mono); margin: 0;
}
.mlco-summary-header i { color: var(--c-primary); font-size: 1rem; }

/* Discount nudge — continues the card border */
.mlco-discount-nudge {
	border-left: 1px solid var(--c-border);
	border-right: 1px solid var(--c-border);
	background: #fff; margin: 0; padding: 10px 20px;
}
.mlco-discount-nudge__inner {
	padding: 10px 14px;
	background: rgba(0,212,170,0.08); border: 1px solid rgba(0,212,170,0.25);
	border-left: 3px solid var(--c-accent);
	font-size: var(--t-small); font-family: var(--f-body);
	color: var(--s-success-text);
}

/* WC order review table — continues the card border */
.mlco-summary .woocommerce-checkout-review-order-table,
.mlco-summary table.shop_table {
	border-left: 1px solid var(--c-border) !important;
	border-right: 1px solid var(--c-border) !important;
	border-top: none !important;
	border-bottom: none !important;
	background: #fff;
	width: 100% !important; border-collapse: collapse;
}
.mlco-summary table.shop_table th {
	font-size: var(--t-label); font-family: var(--f-mono); color: var(--n-800); font-weight: 600;
	padding: 12px 20px; border-bottom: 1px solid var(--c-border); text-align: left;
}
.mlco-summary table.shop_table th.product-total { text-align: right; font-weight: 600;}
.mlco-summary table.shop_table td {
	padding: 14px 20px; border-bottom: 1px solid var(--c-border);
	font-size: var(--t-small); vertical-align: middle;
}
.mlco-summary table.shop_table .cart_item td.product-name {
	color: var(--c-dark); font-weight: 600; font-size: var(--t-small); line-height: 1.4;
}
.mlco-summary table.shop_table .cart_item td.product-name .product-quantity {
	color: rgba(10,22,40,0.4); font-family: var(--f-mono); font-size: var(--t-label);
	display: block; margin-top: 2px;
}
.mlco-summary table.shop_table td.product-total {
	text-align: right; font-family: var(--f-mono); font-size: var(--t-small);
	color: var(--c-dark); font-weight: 700;
}
.mlco-summary table.shop_table tr.cart-subtotal td,
.mlco-summary table.shop_table tr.cart-subtotal th {
	font-size: var(--t-label); color: var(--n-800); font-family: var(--f-mono);
	border-bottom: none; padding-bottom: 4px; font-weight: 600;}
.mlco-summary table.shop_table tr.woocommerce-shipping-totals td,
.mlco-summary table.shop_table tr.woocommerce-shipping-totals th {
	font-size: var(--t-label); color: var(--n-800); font-family: var(--f-mono);
	padding: 14px 20px; border-bottom: 1px solid var(--c-border); font-weight: 600;}
.mlco-summary table.shop_table tr.cart-discount td,
.mlco-summary table.shop_table tr.cart-discount th {
	color: var(--c-accent); font-family: var(--f-mono); font-size: var(--t-label); font-weight: 600;}
.mlco-summary table.shop_table .order-total td,
.mlco-summary table.shop_table .order-total th {
	padding-top: 16px; padding-bottom: 16px; border-top: 1px solid var(--c-border); font-weight: 600;}
.mlco-summary table.shop_table .order-total .amount {
	font-family: var(--f-mono); font-size: var(--t-lead); font-weight: 700; color: var(--c-primary);
}
.mlco-summary table.shop_table .cart_item a.remove {
	color: #ef4444 !important; font-size: var(--t-label) !important;
	text-decoration: none !important; font-weight: 700 !important;
}
.mlco-summary table.shop_table .cart_item a.remove:hover {
	color: #dc2626 !important; background: transparent !important;
}

/* #payment — closes the card border at bottom */
.mlco-summary #payment {
	border-left: 1px solid var(--c-border) !important;
	border-right: 1px solid var(--c-border) !important;
	border-bottom: 1px solid var(--c-border) !important;
	border-top: none !important;
	background: #fff !important;
	padding: 20px !important;
	box-sizing: border-box !important;
}
.mlco-summary #payment ul.payment_methods {
	list-style: none; margin: 0; padding: 0; border: none;
}
.mlco-summary #payment ul.payment_methods li {
	border-bottom: 1px solid var(--c-border); padding: 0;
}
.mlco-summary #payment ul.payment_methods li:last-child { border-bottom: none; }
.mlco-summary #payment ul.payment_methods li label {
	display: flex; align-items: center; gap: 0.75rem;
	padding: 16px 20px; cursor: pointer; font-size: var(--t-label);
	font-weight: 600; color: var(--c-dark); font-family: var(--f-display);
}
.mlco-summary #payment ul.payment_methods li label img { height: 20px; width: auto; margin: 0; font-weight: 600;}
.mlco-summary #payment ul.payment_methods li input[type="radio"] { accent-color: var(--c-primary); flex-shrink: 0; }
.mlco-summary #payment .payment_box {
	background: var(--c-off); border-top: 1px solid var(--c-border);
	padding: 14px 20px; font-size: 0.8rem; color: var(--c-text-2); margin: 0;
}
.mlco-summary #payment .payment_box p { margin: 0; font-size: 0.8rem; }

/* Terms */
.mlco-summary .woocommerce-terms-and-conditions-wrapper { padding: 12px 20px 4px; }
.mlco-summary .woocommerce-terms-and-conditions-wrapper label {
	font-size: var(--t-label); font-weight: 600; color: var(--n-800);
	display: flex; align-items: flex-start; gap: 0.5rem; line-height: 1.5; cursor: pointer;
}
.mlco-summary .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
	accent-color: var(--c-primary); flex-shrink: 0; margin-top: 2px;
}
.mlco-summary .woocommerce-privacy-policy-text { display: none; }

/* Place order */
.mlco-summary #payment .form-row.place-order {
	padding: 20px !important; margin: 0 !important;
	background: transparent; box-sizing: border-box !important;
}
.mlco-summary #place_order {
	display: block !important; width: 100% !important;
	max-width: 100% !important; box-sizing: border-box !important;
	background: var(--c-primary) !important; color: var(--c-dark) !important;
	border: none !important; border-radius: 0 !important;
	font-family: var(--f-mono) !important; font-size: 16px;
	font-weight: 600; padding: 16px !important;
	cursor: pointer; transition: background 0.2s; min-height: 48px;
}
.mlco-summary #place_order:hover { background: var(--c-primary-h) !important; }

/* Payment info card — TRUE sibling below WC output */
.mlco-payment-info {
	border: 1px solid var(--c-border); margin-top: 20px; background: #fff;
}
.mlco-payment-info__head {
	background: var(--c-dark); padding: 14px 20px;
	display: flex; align-items: center; gap: 0.6rem;
}
.mlco-payment-info__head h3 {
	font-size: var(--t-label); font-weight: 600; color: #fff; font-family: var(--f-mono); margin: 0;
}
.mlco-payment-info__head i { color: var(--c-primary); font-size: 1rem; }
.mlco-payment-info__body { padding: 20px; }

/* Crypto note */
.mlco-crypto-note {
	padding: 10px 14px;
	background: rgba(0,180,216,0.06); border: 1px solid rgba(0,180,216,0.2);
	border-left: 3px solid var(--c-primary);
	font-size: var(--t-small); font-family: var(--f-body); color: var(--n-800);
}

/* Disclaimer */
/* ---- WC fields ---- */
.mlco-wrap .woocommerce-billing-fields,
.mlco-wrap .woocommerce-shipping-fields { margin: 0; }
/* Only hide BILLING h3 — shipping h3 has the toggle checkbox */
.mlco-wrap .woocommerce-billing-fields > h3 { display: none !important; }
/* Style shipping h3 */
.mlco-wrap .woocommerce-shipping-fields > h3,
.mlco-wrap #ship-to-different-address {
	display: flex !important; align-items: center; gap: 0.5rem;
	font-size: var(--t-label); font-weight: 600; color: var(--c-dark);
	margin: 0; padding: 0;
	font-family: var(--f-display); cursor: pointer;
}
.mlco-wrap #ship-to-different-address input[type="checkbox"] {
	accent-color: var(--c-primary); width: 16px; height: 16px;
}
.mlco-wrap .form-row { margin: 0 0 16px !important; padding: 0 !important; }
.mlco-wrap .form-row label {
	display: block; font-size: var(--t-label); font-weight: 600;
	color: var(--n-800); margin-bottom: 6px; font-family: var(--f-mono);
}
.mlco-wrap .form-row .required { color: var(--c-primary); }
.mlco-wrap .form-row input[type="text"],
.mlco-wrap .form-row input[type="email"],
.mlco-wrap .form-row input[type="tel"],
.mlco-wrap .form-row input[type="number"],
.mlco-wrap .form-row input[type="password"],
.mlco-wrap .form-row select,
.mlco-wrap .form-row textarea {
	width: 100% !important; border: 1px solid var(--c-border) !important;
	border-radius: 0 !important; padding: 0.75rem 1rem !important;
	font-size: var(--t-body) !important; font-family: var(--f-display) !important;
	color: var(--c-dark) !important; background: #fff !important;
	box-sizing: border-box !important; box-shadow: none !important;
	outline: none !important; transition: border-color 0.2s;
}
.mlco-wrap .form-row input:focus,
.mlco-wrap .form-row select:focus,
.mlco-wrap .form-row textarea:focus { border-color: var(--c-primary) !important; }
.mlco-wrap .form-row.woocommerce-invalid input,
.mlco-wrap .form-row.woocommerce-invalid select { border-color: #ef4444 !important; }
.mlco-wrap select.country_select,
.mlco-wrap select.state_select {
	-webkit-appearance: none; appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2300b4d8' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
	padding-right: 32px !important;
}
/* Flexbox for name rows */
.mlco-wrap .woocommerce-billing-fields__field-wrapper,
.mlco-wrap .woocommerce-shipping-fields__field-wrapper {
	display: flex; flex-wrap: wrap; gap: 12px;
}
.mlco-wrap .form-row-first,
.mlco-wrap .form-row-last {
	float: none !important; flex: 1 1 calc(50% - 6px); min-width: 0; margin-right: 0 !important;
}
.mlco-wrap .form-row-wide { flex: 1 1 100%; }

/* Notices */
.mlco-wrap .woocommerce-error, .mlco-wrap .woocommerce-message, .mlco-wrap .woocommerce-info { border-radius: 0; font-size: var(--t-small); }
.mlco-collapsible-bar {
	background: #fff; border: 1px solid var(--c-border); border-left: 3px solid var(--c-primary);
	padding: 12px 16px; font-size: var(--t-small); color: var(--c-text-2); margin-bottom: 12px;
}
.mlco-collapsible-bar a { color: var(--c-primary); font-weight: 600; text-decoration: none; }
.mlco-collapsible-bar a:hover { color: var(--c-primary-h); }
.mlco-collapsible-inner {
	display: none; background: #fff; border: 1px solid var(--c-border);
	border-top: none; padding: 20px; margin-top: -12px; margin-bottom: 12px;
}
.mlco-collapsible-inner.open { display: block; }

/* Loading */
.mlco-wrap form.checkout.processing::after {
	content: ''; position: fixed; inset: 0; background: rgba(10,22,40,0.6); z-index: 9999;
}

/* ---- Tablet ---- */
@media (max-width: 900px) {
	.mlco-body-grid { grid-template-columns: 1fr !important; }
	.mlco-summary { position: static !important; order: 2; } /* details first, then the review and the order action */
	.mlco-wrap .form-row-first,
	.mlco-wrap .form-row-last { flex: 1 1 100%; }
}

/* ---- Mobile ---- */
@media (max-width: 768px) {
	.mlco-hero-section { padding-block: 48px !important; min-height: 160px; }
	.mlco-hero__title { }
	.mlco-steps-bar { padding-top: 12px; padding-bottom: 18px; }
	.mlco-step { padding: 0 0.75rem; font-size: var(--t-label); }
	.mlco-step + .mlco-step::before { display: none; }
	.mlco-trust-bar { gap: 8px 16px; padding-block: 10px; }
	.mlco-body-grid { padding-top: 24px !important; padding-bottom: 56px !important; gap: 24px !important; }
	.mlco-card__body { padding: 16px; }
	.mlco-card__head { padding: 12px 16px; }
	.mlco-summary-header { padding: 12px 16px; }
	.mlco-wrap .form-row input,
	.mlco-wrap .form-row select,
	.mlco-wrap .form-row textarea { font-size: var(--t-body) !important; min-height: 48px; }
	.mlco-summary #place_order { min-height: 52px; font-size: 16px; }
}

@media (max-width: 480px) {
	.mlco-hero-section { padding-block: 40px !important; min-height: 140px; }
	.mlco-hero__title { }
	.mlco-trust__item span { display: inline; }
	.mlco-step__label { display: inline; font-weight: 600; }
	.mlco-step { padding: 0 0.6rem; }
}

/* -- Notices in the order review column (Phase 4c.1) --------------- */
.mlco-notices:empty { display: none; }
.mlco-notices .woocommerce-notices-wrapper:empty { display: none; }
.mlco-notices .woocommerce-message, .mlco-notices .woocommerce-error, .mlco-notices .woocommerce-info {
	margin: 0 0 16px; padding: 14px 18px; border: 1px solid var(--c-border); border-left: 3px solid var(--c-primary);
	background: var(--c-off); color: var(--n-800); font-family: var(--f-body); font-size: var(--t-small); line-height: var(--lh-small);
	list-style: none; border-radius: 0; box-shadow: none;
}
.mlco-notices .woocommerce-message { border-left-color: var(--s-success); background: var(--s-success-bg); }
.mlco-notices .woocommerce-error { border-left-color: var(--s-error); background: var(--s-error-bg); }
.mlco-notices .woocommerce-message::before, .mlco-notices .woocommerce-error::before, .mlco-notices .woocommerce-info::before { display: none; }
.mlco-notices .woocommerce-error li { margin: 0; }
.mlco-notices .woocommerce-error li + li { margin-top: 6px; }
.mlco-notices .button, .mlco-notices .wc-forward { display: none; }
.mlco-notices .xlml-notice { margin-block: 0 16px; }
.xlml-notice--error { margin-block: 24px; padding: 14px 18px; border: 1px solid var(--c-border); border-left: 3px solid var(--s-error); background: var(--s-error-bg); }
.xlml-notice--error p { margin: 0; font-family: var(--f-body); font-size: var(--t-small); line-height: var(--lh-small); color: var(--s-error-text); }
/* WooCommerce's own coupon feedback, inserted before the coupon form, is replaced by the summary notice */
.mlco-collapsible-inner .woocommerce-error, .mlco-collapsible-inner .woocommerce-message, .checkout_coupon ~ .woocommerce-error, .checkout_coupon ~ .woocommerce-message { display: none; }

/* -- Phase 4c.1 review: checkboxes square, Select2 44px square (outside #payment) -- */
.mlco-wrap input[type="checkbox"], .mlco-wrap input[type="radio"], .mlco-summary .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] { width: 20px; height: 20px; min-height: 0; margin-top: 2px; }
.mlco-wrap .select2-container .select2-selection--single { height: 44px; border: 1px solid var(--c-border); border-radius: 0; }
.mlco-wrap .select2-container .select2-selection--single .select2-selection__rendered { line-height: 42px; padding-left: 12px; color: var(--c-dark); }
.mlco-wrap .select2-container .select2-selection--single .select2-selection__arrow { height: 42px; }
@media (max-width: 480px) { .mlco-hero-section { padding-block: 24px !important; min-height: 0; } }
.mlco-wrap .form-row input.input-text, .mlco-wrap .form-row select { min-height: 44px; }
