/* 0.3.37 Cart / checkout / My Account forms + Shopify-style checkout. Loaded only on Woo cart, checkout and account pages. */
:root { --co-line: #c9cfd6; --co-line-soft: #e3e6ea; --co-focus: var(--c, #19a7e0); --co-side: #f5f6f8; --co-ink: #111; --co-muted: #6b7280; }

/* ---------- Form fields everywhere on cart / checkout / account (classic + block) ---------- */
.rr-woo input[type=text], .rr-woo input[type=email], .rr-woo input[type=tel], .rr-woo input[type=password], .rr-woo input[type=number], .rr-woo input[type=search], .rr-woo input[type=url], .rr-woo select, .rr-woo textarea,
.woocommerce form .input-text, .woocommerce form select, .woocommerce-page form .input-text,
.wc-block-components-text-input input, .wc-block-components-textarea, .wc-blocks-components-select__select, .wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-totals-coupon input {
	border: 1px solid var(--co-line) !important; border-radius: 6px !important; background: #fff !important; color: var(--co-ink);
	box-shadow: none; outline: 0; transition: border-color .15s, box-shadow .15s;
}
.rr-woo input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]), .rr-woo select, .rr-woo textarea { min-height: 46px; padding: 10px 12px; font-size: 15px; }
.rr-woo textarea { min-height: 96px; }
/* block inputs use floating labels: keep Woo's top padding so the label never sits on the value */
.rr-woo .wc-block-components-text-input input, .rr-woo .wc-block-components-combobox input { padding: 1.55em 12px .45em !important; min-height: 52px; }
.rr-woo .wc-block-components-text-input label, .rr-woo .wc-block-components-combobox label { left: 13px !important; }
.rr-woo .wc-blocks-components-select__select { padding-top: 1.4em !important; min-height: 52px; }
.rr-woo input:focus, .rr-woo select:focus, .rr-woo textarea:focus,
.wc-block-components-text-input input:focus, .wc-blocks-components-select__select:focus, .wc-block-components-textarea:focus {
	border-color: var(--co-focus) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--co-focus) 22%, transparent) !important;
}
.woocommerce form .form-row.woocommerce-invalid .input-text, .wc-block-components-text-input.has-error input { border-color: #b3261e !important; }
.woocommerce form .form-row label, .rr-woo label { font-size: 13px; font-weight: 600; color: var(--co-ink); }

/* ---------- Slim checkout header + footer ---------- */
.hdr--checkout { background: #fff; border-bottom: 1px solid var(--co-line-soft); position: relative; }
.co-hdr { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 72px; }
.co-hdr .logo img { height: 42px; width: auto; display: block; }
.co-hdr__secure { display: flex; align-items: center; gap: 8px; margin: 0; font: 600 13px/1 'Open Sans', sans-serif; color: var(--co-muted); letter-spacing: .02em; }
.co-hdr__secure svg { color: #1c7c3c; }
.co-hdr__cart { font: 600 13px/1 'Open Sans', sans-serif; color: var(--co-ink) !important; text-decoration: underline; }
.ftr--checkout { background: #fff; border-top: 1px solid var(--co-line-soft); padding: 22px 0 28px; margin-top: 40px; }
.co-ftr { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; font-size: 12.5px; color: var(--co-muted); }
.co-ftr nav { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.co-ftr a { color: var(--co-muted) !important; text-decoration: underline; }
.co-ftr p { margin: 0; }

/* ---------- Shopify-style two columns ---------- */
.rr-checkout { background: linear-gradient(90deg, #fff 0 58%, var(--co-side) 58% 100%); min-height: 70vh; }
.rr-checkout-wrap { max-width: 1180px; padding-top: 28px; padding-bottom: 40px; }
.rr-checkout .wc-block-checkout { margin: 0; }
.rr-checkout .wc-block-components-sidebar-layout { gap: 0; }
.rr-checkout .wc-block-components-main { padding-right: 48px !important; }
.rr-checkout .wc-block-components-sidebar { padding-left: 40px !important; }
.rr-checkout .wc-block-components-sidebar .wc-block-components-panel, .rr-checkout .wp-block-woocommerce-checkout-order-summary-block { background: transparent; border: 0 !important; }
.rr-checkout .wc-block-components-order-summary-item__image img { border: 1px solid var(--co-line-soft); border-radius: 8px; background: #fff; }
.rr-checkout .wc-block-components-order-summary-item__quantity { background: #555; color: #fff; border: 0; box-shadow: none; }
.rr-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 22px; font-weight: 800; }
.rr-checkout .wc-block-components-title, .rr-checkout .wc-block-components-checkout-step__title { font: 700 18px/1.3 'Open Sans', sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--co-ink); }
/* Stepped section headings: 1 Contact, 2 Delivery, 3 Shipping method, 4 Payment */
.rr-checkout .wc-block-checkout__form { counter-reset: costep; }
.rr-checkout .wc-block-components-checkout-step__title::before { counter-increment: costep; content: counter(costep); display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; margin-right: 10px; border-radius: 50%; background: var(--co-ink); color: #fff; font-size: 12px; font-weight: 700; vertical-align: 2px; }
.rr-checkout .wc-block-components-checkout-step { padding-bottom: 8px; }
.rr-checkout .wc-block-components-checkout-place-order-button, .rr-checkout .wc-block-components-button.contained { background: var(--ink, #111) !important; color: #fff !important; border-radius: 6px !important; min-height: 54px; font-weight: 700; }
.rr-checkout .wc-block-components-express-payment { border-color: var(--co-line-soft); }
/* free-shipping bar and social buttons sit above the form, full width */
.rr-checkout .rr-nudge, .rr-checkout .rr-co-social { max-width: 680px; }
.rr-co-social .rr-social-login { margin: 0 0 18px; }

@media (max-width: 781px) {
	.rr-checkout { background: #fff; }
	.rr-checkout .wc-block-components-main { padding-right: 0 !important; }
	.rr-checkout .wc-block-components-sidebar { padding-left: 0 !important; }
	.co-hdr__secure span { display: none; }
}

/* ---------- Order confirmation ---------- */
.rr-order-confirmation { padding: 40px 16px 20px; }
.rr-order-confirmation .wc-block-order-confirmation-status h1, .rr-order-confirmation .wc-block-order-confirmation-status { font-family: 'Open Sans', sans-serif; }
.rr-oc-continue a { display: inline-block; margin-top: 18px; padding: 14px 22px; border-radius: 6px; background: var(--ink, #111); color: #fff !important; font-weight: 700; text-decoration: none; }
