/* ════════════════════════════════════════════════════════
   RR Cart & Checkout — v1.4.1
   Cart  : PHP template override (cart.php)
   Checkout : CSS-only on native WooCommerce output
════════════════════════════════════════════════════════ */

/* ── Variables on :root ──────────────────────────────── */
:root {
	--rr-red:    #800020;
	--rr-gold:   #D9B382;
	--rr-text:   #1A1A1A;
	--rr-bg:     #FFFFFF;
	--rr-bg2:    #F9F9F9;
	--rr-dark:   #111111;
	--rr-muted:  #888888;
	--rr-border: rgba(0,0,0,0.08);
	--rr-success:#2a9d5c;
	--f-d: 'Cormorant Garamond', Georgia, serif;
	--f-b: 'Inter', sans-serif;
	--ease: cubic-bezier(0.25,0.46,0.45,0.94);
}

/* ── Reset WC container ─────────────────────────────── */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
	max-width: none !important;
	width: 100% !important;
	padding: 0 !important;
	float: none !important;
}

/* ════════════════════════════════════════════════════════
   CART
════════════════════════════════════════════════════════ */

.rr-cart-wrap {
	font-family: var(--f-b) !important;
	color: var(--rr-text) !important;
}

.rr-cart-layout {
	max-width: 1280px;
	margin: 0 auto;
	padding: 52px 48px 80px;
	display: grid !important;
	grid-template-columns: 1fr 380px;
	gap: 48px;
	align-items: start;
}

.rr-cart-empty-wrap {
	max-width: 1280px;
	margin: 0 auto;
	padding: 80px 48px;
	text-align: center;
}
.rr-cart-empty-msg {
	font-family: var(--f-d) !important;
	font-size: 1.4rem !important;
	color: var(--rr-muted);
	margin-bottom: 24px;
}

/* Title */
.rr-cart-wrap .rr-page-title {
	font-family: var(--f-d) !important;
	font-size: clamp(2rem,3vw,2.8rem) !important;
	font-weight: 500 !important;
	line-height: 1.05 !important;
	margin-bottom: 6px !important;
	color: var(--rr-text) !important;
}
.rr-cart-wrap .rr-page-title em {
	font-style: italic !important;
	color: var(--rr-red) !important;
	font-family: var(--f-d) !important;
}

.rr-cart-wrap .rr-cart-subtitle {
	font-family: var(--f-b) !important;
	font-size: 0.67rem !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: #bbb !important;
	margin-bottom: 36px !important;
}

/* Table header */
.rr-cart-wrap .rr-cart-head {
	display: grid;
	grid-template-columns: 80px 1fr 140px 130px 48px;
	gap: 16px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--rr-border);
	font-family: var(--f-b) !important;
	font-size: 0.6rem !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: #bbb !important;
	align-items: center;
}

/* Cart row */
.rr-cart-wrap .rr-cart-row {
	display: grid;
	grid-template-columns: 80px 1fr 140px 130px 48px;
	gap: 16px;
	align-items: center;
	padding: 20px 0;
	border-bottom: 1px solid var(--rr-border);
	animation: rr-row-in 0.4s var(--ease) both;
}
@keyframes rr-row-in {
	from { opacity:0; transform:translateX(-8px); }
	to   { opacity:1; transform:translateX(0); }
}
.rr-cart-wrap .rr-cart-row:nth-child(1) { animation-delay:.05s; }
.rr-cart-wrap .rr-cart-row:nth-child(2) { animation-delay:.10s; }
.rr-cart-wrap .rr-cart-row:nth-child(3) { animation-delay:.15s; }
.rr-cart-wrap .rr-cart-row:nth-child(4) { animation-delay:.20s; }

/* Thumbnail */
.rr-cart-wrap .rr-cart-img-cell img {
	width: 80px; height: 80px;
	object-fit: cover; display: block;
	background: var(--rr-bg2);
	transition: transform 0.35s var(--ease);
}
.rr-cart-wrap .rr-cart-img-cell a:hover img { transform: scale(1.04); }

/* Product info */
.rr-cart-wrap .rr-cart-prod-cat {
	font-family: var(--f-b) !important;
	font-size: 0.58rem !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: #bbb !important;
	margin-bottom: 3px;
}
.rr-cart-wrap .rr-cart-prod-name {
	font-family: var(--f-d) !important;
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	margin-bottom: 5px;
}
.rr-cart-wrap .rr-cart-prod-name a {
	font-family: var(--f-d) !important;
	color: var(--rr-text) !important;
	text-decoration: none !important;
	transition: color 0.2s;
}
.rr-cart-wrap .rr-cart-prod-name a:hover { color: var(--rr-red) !important; }

.rr-cart-wrap .rr-cart-prod-meta { font-family: var(--f-b) !important; font-size: 0.68rem !important; color: #aaa !important; }
.rr-cart-wrap .rr-cart-prod-meta dl.variation { margin:0; display:flex; flex-wrap:wrap; gap:0 10px; }
.rr-cart-wrap .rr-cart-prod-meta dl.variation dt,
.rr-cart-wrap .rr-cart-prod-meta dl.variation dd {
	display: inline; margin:0;
	font-family: var(--f-b) !important;
	font-size: 0.68rem !important;
	color: #aaa !important;
}
.rr-cart-wrap .rr-cart-prod-meta dl.variation dt::after { content:':'; }

/* Quantity */
.rr-cart-wrap .rr-qty-ctrl {
	display: flex; align-items: center;
	border: 1px solid var(--rr-border); width: fit-content;
}
.rr-cart-wrap .rr-qty-btn {
	width:32px; height:36px; background:none; border:none; cursor:pointer;
	font-family: var(--f-b) !important;
	font-size: 1rem !important;
	color: var(--rr-text) !important;
	display:flex; align-items:center; justify-content:center;
	transition: background 0.2s;
}
.rr-cart-wrap .rr-qty-btn:hover { background: var(--rr-bg2); }
.rr-cart-wrap .rr-qty-inp {
	width:40px; height:36px; border:none;
	border-left:1px solid var(--rr-border);
	border-right:1px solid var(--rr-border);
	text-align:center;
	font-family: var(--f-b) !important;
	font-size: 0.82rem !important;
	background:transparent; outline:none;
	color: var(--rr-text) !important;
	-moz-appearance:textfield;
}
.rr-cart-wrap .rr-qty-inp::-webkit-inner-spin-button,
.rr-cart-wrap .rr-qty-inp::-webkit-outer-spin-button { display:none; }
.rr-cart-wrap .rr-qty-single {
	font-family: var(--f-b) !important;
	font-size: 0.82rem !important;
	color: var(--rr-muted) !important;
}

/* Price */
.rr-cart-wrap .rr-price-label { display: none; }
.rr-cart-wrap .rr-cart-price-cell .rr-price-val {
	font-family: var(--f-d) !important;
	font-size: 1.3rem !important;
	font-weight: 600 !important;
	color: var(--rr-red) !important;
	white-space: nowrap;
}

/* Remove */
.rr-cart-wrap .rr-remove-cell { display:flex; justify-content:flex-end; }
.rr-cart-wrap .rr-cart-remove {
	width:32px; height:32px; background:none;
	border:1px solid var(--rr-border); display:flex;
	align-items:center; justify-content:center;
	color:#ccc; text-decoration:none;
	transition: border-color 0.2s, color 0.2s;
}
.rr-cart-wrap .rr-cart-remove:hover { border-color:var(--rr-red) !important; color:var(--rr-red) !important; }

/* Cart actions */
.rr-cart-wrap .rr-cart-actions {
	display:flex; align-items:center; justify-content:space-between;
	margin-top:20px; padding-top:20px; flex-wrap:wrap; gap:12px;
}
.rr-cart-wrap .rr-continue-link {
	display:inline-flex; align-items:center; gap:8px;
	font-family: var(--f-b) !important;
	font-size: 0.67rem !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: #aaa !important; text-decoration:none;
	transition: color 0.2s;
}
.rr-cart-wrap .rr-continue-link:hover { color: var(--rr-red) !important; }

.rr-cart-wrap .rr-btn-update {
	font-family: var(--f-b) !important;
	font-size: 0.65rem !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--rr-muted) !important;
	background: none !important;
	border: 1px solid var(--rr-border) !important;
	padding: 8px 16px; cursor:pointer;
	transition: color 0.2s, border-color 0.2s;
}
.rr-cart-wrap .rr-btn-update:hover {
	color: var(--rr-text) !important;
	border-color: var(--rr-text) !important;
}

/* ── Order Summary sidebar ── */
.rr-cart-wrap .rr-order-summary {
	background: var(--rr-bg2);
	border: 1px solid var(--rr-border);
	position: sticky;
	top: 100px;
}
.rr-cart-wrap .rr-os-header {
	padding:22px 26px 20px;
	border-bottom:1px solid var(--rr-border);
	background: var(--rr-dark);
	position: relative;
}
.rr-cart-wrap .rr-os-header::after {
	content:''; position:absolute; bottom:0; left:0; right:0;
	height:2px; background:linear-gradient(90deg,var(--rr-red),var(--rr-gold));
}
.rr-cart-wrap .rr-os-title {
	font-family: var(--f-d) !important;
	font-size: 1.25rem !important;
	font-weight: 500 !important;
	color: #fff !important;
	margin-bottom: 2px;
}
.rr-cart-wrap .rr-os-subtitle {
	font-family: var(--f-b) !important;
	font-size: 0.62rem !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: rgba(255,255,255,0.35) !important;
}
.rr-cart-wrap .rr-os-body { padding:22px 26px; }
.rr-cart-wrap .rr-os-line {
	display:flex; justify-content:space-between; align-items:baseline;
	margin-bottom:10px;
	font-family: var(--f-b) !important;
	font-size: 0.82rem !important;
}
.rr-cart-wrap .rr-os-label { color: var(--rr-muted) !important; }
.rr-cart-wrap .rr-os-value { font-weight:500 !important; color: var(--rr-text) !important; }
.rr-cart-wrap .rr-os-muted { font-weight:400 !important; color:#bbb !important; font-size:0.75rem !important; }
.rr-cart-wrap .rr-free { color: var(--rr-success) !important; font-weight:500 !important; }
.rr-cart-wrap .rr-os-divider { height:1px; background:var(--rr-border); margin:16px 0; }

.rr-cart-wrap .rr-os-total {
	display:flex; justify-content:space-between; align-items:baseline; margin-bottom:4px;
}
.rr-cart-wrap .rr-os-total-label {
	font-family: var(--f-b) !important;
	font-size: 0.7rem !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: var(--rr-muted) !important;
}
.rr-cart-wrap .rr-os-total-amount {
	font-family: var(--f-d) !important;
	font-size: 2rem !important;
	font-weight: 600 !important;
	color: var(--rr-red) !important;
}
.rr-cart-wrap .rr-os-total-amount .woocommerce-Price-amount {
	font-family: var(--f-d) !important;
	font-size: inherit !important;
}
.rr-cart-wrap .rr-os-vat-note {
	font-family: var(--f-b) !important;
	font-size: 0.62rem !important;
	color: #bbb !important;
	margin-bottom: 20px;
	line-height: 1.5;
}

/* Checkout + primary buttons */
.rr-cart-wrap .rr-btn-checkout,
.rr-cart-wrap .rr-btn-primary {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px;
	width: 100%;
	height: 52px;
	background: var(--rr-red) !important;
	color: #fff !important;
	border: none !important;
	font-family: var(--f-b) !important;
	font-size: 0.72rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	transition: background 0.25s;
	margin-top: 20px;
	z-index: 0;
}
.rr-cart-wrap .rr-btn-checkout::after,
.rr-cart-wrap .rr-btn-primary::after {
	content:''; position:absolute; inset:0; z-index:-1;
	background:linear-gradient(90deg,transparent,rgba(255,255,255,0.1),transparent);
	transform:translateX(-100%); transition:transform 0.5s var(--ease);
}
.rr-cart-wrap .rr-btn-checkout:hover,
.rr-cart-wrap .rr-btn-primary:hover {
	background: #6b001b !important; color:#fff !important;
}
.rr-cart-wrap .rr-btn-checkout:hover::after,
.rr-cart-wrap .rr-btn-primary:hover::after { transform:translateX(100%); }

/* Trust badges */
.rr-cart-wrap .rr-trust-row {
	display:flex; gap:8px; margin-top:18px;
	padding-top:18px; border-top:1px solid var(--rr-border);
}
.rr-cart-wrap .rr-trust-item {
	flex:1; display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center;
}
.rr-cart-wrap .rr-trust-item svg { width:16px; height:16px; stroke:var(--rr-gold); fill:none; stroke-width:1.4; }
.rr-cart-wrap .rr-trust-item span {
	font-family: var(--f-b) !important;
	font-size: 0.58rem !important;
	color: #aaa !important;
	letter-spacing: 0.04em; line-height:1.3;
}


/* ════════════════════════════════════════════════════════
   CHECKOUT — CSS only on native WooCommerce output
════════════════════════════════════════════════════════ */

/* ── Two-column grid on the native WC form ── */
form.woocommerce-checkout {
	display: grid !important;
	grid-template-columns: 1fr 360px !important;
	column-gap: 40px !important;
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding: 40px 48px 80px !important;
	float: none !important;
	align-items: start !important;
}

/* Left column: customer details — row auto-places after login slot */
form.woocommerce-checkout #customer_details {
	grid-column: 1 !important;
	grid-row: 1 !important;
}

/* Right column: sticky wrapper injected via PHP hook
   Contains h3#order_review_heading + #order_review as one unit */
.rr-co-sticky-col {
	grid-column: 2 !important;
	grid-row: 1 !important;
	position: sticky !important;
	top: 100px !important;
	align-self: start !important;
	height: fit-content !important;
}

form.woocommerce-checkout h3#order_review_heading {
	font-family: var(--f-d) !important;
	font-size: 1.35rem !important;
	font-weight: 500 !important;
	color: #fff !important;
	background: var(--rr-dark) !important;
	padding: 18px 22px !important;
	margin: 0 !important;
	position: relative !important;
	line-height: 1.2 !important;
	display: block !important;
}
form.woocommerce-checkout h3#order_review_heading::after {
	content: '';
	position: absolute;
	bottom: 0; left: 0; right: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--rr-red), var(--rr-gold));
}

form.woocommerce-checkout #order_review {
	border: 1px solid var(--rr-border) !important;
	border-top: none !important;
	background: var(--rr-bg2) !important;
	position: static !important;
}

/* Section cards */
form.woocommerce-checkout .woocommerce-billing-fields,
form.woocommerce-checkout .woocommerce-shipping-fields,
form.woocommerce-checkout .woocommerce-additional-fields {
	border: 1px solid var(--rr-border) !important;
	margin-bottom: 20px !important;
}

/* Billing h3 */
form.woocommerce-checkout .woocommerce-billing-fields > h3 {
	font-family: var(--f-d) !important;
	font-size: 1.15rem !important;
	font-weight: 500 !important;
	color: var(--rr-text) !important;
	background: var(--rr-bg2) !important;
	border-bottom: 1px solid var(--rr-border) !important;
	padding: 15px 20px !important;
	margin: 0 !important;
}

/* Shipping h3 — contains ship-to-different-address checkbox */
form.woocommerce-checkout .woocommerce-shipping-fields > h3 {
	font-family: var(--f-d) !important;
	font-size: 1.15rem !important;
	font-weight: 500 !important;
	color: var(--rr-text) !important;
	background: var(--rr-bg2) !important;
	border-bottom: 1px solid var(--rr-border) !important;
	padding: 15px 20px !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}
form.woocommerce-checkout .woocommerce-shipping-fields > h3 input[type="checkbox"] {
	width:17px !important; height:17px !important;
	accent-color: var(--rr-red) !important;
	cursor:pointer !important; flex-shrink:0 !important; margin:0 !important;
}
form.woocommerce-checkout .woocommerce-shipping-fields > h3 label {
	font-family: var(--f-b) !important;
	font-size: 0.82rem !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--rr-text) !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	cursor: pointer !important;
	margin: 0 !important;
}

/* Field wrappers */
form.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
form.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
form.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 14px 18px !important;
	padding: 20px !important;
	float: none !important;
}
form.woocommerce-checkout .form-row-wide { grid-column:1/-1 !important; }
form.woocommerce-checkout .form-row-first,
form.woocommerce-checkout .form-row-last {
	float:none !important; width:100% !important;
	margin:0 !important; padding:0 !important; clear:none !important;
}
form.woocommerce-checkout .form-row { margin:0 !important; padding:0 !important; }

/* Labels */
form.woocommerce-checkout .form-row label {
	font-family: var(--f-b) !important;
	font-size: 0.6rem !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: var(--rr-muted) !important;
	font-weight: 500 !important;
	display: block !important;
	margin-bottom: 5px !important;
}
form.woocommerce-checkout .form-row label .required,
form.woocommerce-checkout .form-row label abbr {
	color: var(--rr-red) !important; text-decoration:none !important;
}

/* Inputs & selects */
form.woocommerce-checkout .form-row input.input-text,
form.woocommerce-checkout .form-row select,
form.woocommerce-checkout .form-row textarea {
	height: 46px !important;
	padding: 0 14px !important;
	border: 1px solid var(--rr-border) !important;
	background: var(--rr-bg) !important;
	font-family: var(--f-b) !important;
	font-size: 0.83rem !important;
	color: var(--rr-text) !important;
	outline: none !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
	border-radius: 0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	box-shadow: none !important;
}
form.woocommerce-checkout .form-row textarea {
	height:auto !important; padding:12px 14px !important;
	resize:vertical !important; min-height:90px !important;
}
form.woocommerce-checkout .form-row input.input-text::placeholder { color:#ccc !important; }
form.woocommerce-checkout .form-row input.input-text:focus,
form.woocommerce-checkout .form-row select:focus,
form.woocommerce-checkout .form-row textarea:focus {
	border-color: var(--rr-gold) !important;
	box-shadow: 0 0 0 3px rgba(217,179,130,0.12) !important;
}
form.woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
form.woocommerce-checkout .form-row.woocommerce-invalid select {
	border-color: var(--rr-red) !important;
}
form.woocommerce-checkout .form-row .woocommerce-input-wrapper {
	width:100% !important; display:block !important;
}
form.woocommerce-checkout .form-row select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%23888' stroke-width='1.5'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	padding-right: 36px !important;
}

/* ── Order review table ── */
.woocommerce-checkout-review-order-table { width:100% !important; border-collapse:collapse !important; }
.woocommerce-checkout-review-order-table thead th {
	font-family: var(--f-b) !important;
	font-size: 0.6rem !important; letter-spacing:0.14em !important;
	text-transform: uppercase !important; color:#bbb !important;
	font-weight: 400 !important; padding:12px 16px !important;
	border-bottom: 1px solid var(--rr-border) !important;
	background: transparent !important;
}
.woocommerce-checkout-review-order-table tbody tr td {
	padding:12px 16px !important;
	border-bottom: 1px solid var(--rr-border) !important;
	font-family: var(--f-b) !important;
	font-size: 0.82rem !important;
	vertical-align: middle !important;
}
.woocommerce-checkout-review-order-table tbody .product-name {
	font-family: var(--f-d) !important;
	font-size: 0.95rem !important; font-weight:600 !important;
	color: var(--rr-text) !important;
}
.woocommerce-checkout-review-order-table tbody .product-total {
	font-family: var(--f-d) !important;
	font-size: 1rem !important; font-weight:600 !important;
	color: var(--rr-red) !important;
	white-space: nowrap !important; text-align:right !important;
}
.woocommerce-checkout-review-order-table tfoot tr th,
.woocommerce-checkout-review-order-table tfoot tr td {
	padding:10px 16px !important;
	border-bottom: 1px solid var(--rr-border) !important;
	font-family: var(--f-b) !important; font-size:0.82rem !important;
}
.woocommerce-checkout-review-order-table tfoot tr th {
	color: var(--rr-muted) !important; font-weight:400 !important;
}
.woocommerce-checkout-review-order-table tfoot tr td {
	text-align: right !important; font-weight:500 !important;
}
.woocommerce-checkout-review-order-table tfoot .order-total th {
	font-size:0.65rem !important; letter-spacing:0.12em !important;
	text-transform: uppercase !important;
}
.woocommerce-checkout-review-order-table tfoot .order-total td {
	font-family: var(--f-d) !important;
	font-size: 1.8rem !important; font-weight:600 !important;
	color: var(--rr-red) !important;
}
.woocommerce-checkout-review-order-table tfoot .order-total .woocommerce-Price-amount {
	font-family: var(--f-d) !important; font-size:inherit !important;
}

/* ── Payment ── */
#payment { background:transparent !important; border:none !important; padding:0 !important; margin:0 !important; }
#payment .wc_payment_methods {
	list-style:none !important; padding:12px 16px !important; margin:0 !important;
	display:flex !important; flex-direction:column !important; gap:8px !important;
	border-bottom: 1px solid var(--rr-border) !important;
}
#payment .wc_payment_methods li.wc_payment_method {
	border: 1px solid var(--rr-border) !important;
	margin: 0 !important;
	transition: border-color 0.25s !important;
	overflow: hidden !important;
	position: relative !important;
	/* Flex so radio + label are inline-centered */
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
}
#payment .wc_payment_methods li:has(input[type=radio]:checked) {
	border-color: var(--rr-red) !important;
	background: rgba(128,0,32,0.02) !important;
}
#payment .wc_payment_methods li label {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	flex: 1 !important;
	padding: 12px 10px 12px 10px !important;
	cursor: pointer !important;
	font-family: var(--f-b) !important;
	font-size: 0.8rem !important;
	font-weight: 500 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--rr-text) !important;
	margin: 0 !important;
	order: 1 !important;
}
#payment .wc_payment_methods li label img { max-height:22px !important; width:auto !important; }
#payment .wc_payment_methods li input[type=radio] {
	width: 16px !important;
	height: 16px !important;
	accent-color: var(--rr-red) !important;
	flex-shrink: 0 !important;
	margin: 0 0 0 14px !important;
	position: relative !important;
	float: none !important;
	display: block !important;
	align-self: center !important;
	order: 0 !important;
}
#payment .payment_box {
	width: 100% !important;
	order: 2 !important;
	padding: 0 14px 14px !important;
	font-family: var(--f-b) !important;
	font-size: 0.76rem !important;
	color: #666 !important;
	line-height: 1.6 !important;
	background: transparent !important;
}

/* Place order */
#payment #place_order {
	display:flex !important; align-items:center !important; justify-content:center !important;
	width:calc(100% - 32px) !important; margin:16px !important;
	height:54px !important;
	background: var(--rr-red) !important; color:#fff !important;
	border:none !important;
	font-family: var(--f-b) !important;
	font-size: 0.72rem !important; font-weight:500 !important;
	letter-spacing: 0.2em !important; text-transform:uppercase !important;
	cursor:pointer !important; transition:background 0.25s !important;
	border-radius:0 !important; padding:0 !important; box-shadow:none !important;
}
#payment #place_order:hover { background:#6b001b !important; }

/* Terms */
.woocommerce-terms-and-conditions-wrapper {
	padding: 0 16px 14px !important;
}
.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
	display: flex !important;
	align-items: flex-start !important;
	gap: 9px !important;
	cursor: pointer !important;
	margin: 0 !important;
}
.woocommerce-terms-and-conditions-wrapper .woocommerce-form__input-checkbox {
	accent-color: var(--rr-red) !important;
	width: 15px !important;
	height: 15px !important;
	flex-shrink: 0 !important;
	margin: 2px 0 0 !important;
	cursor: pointer !important;
	position: relative !important;
	float: none !important;
}
.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox span,
.woocommerce-terms-and-conditions-wrapper label span {
	font-family: var(--f-b) !important;
	font-size: 0.68rem !important;
	letter-spacing: 0.04em !important;
	text-transform: none !important;
	color: #aaa !important;
	line-height: 1.5 !important;
	margin: 0 !important;
}
.woocommerce-terms-and-conditions-wrapper a {
	color: var(--rr-red) !important;
	text-decoration: none !important;
	border-bottom: 1px solid rgba(128,0,32,0.25) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: inherit !important;
	font-weight: 400 !important;
	transition: color 0.2s, border-color 0.2s !important;
}
.woocommerce-terms-and-conditions-wrapper a:hover {
	color: #6b001b !important;
	border-bottom-color: rgba(107,0,27,0.35) !important;
}
/* Privacy policy text block above terms checkbox */
.woocommerce-privacy-policy-text {
	padding: 12px 16px !important;
	font-family: var(--f-b) !important;
	font-size: 0.72rem !important;
	color: #aaa !important;
	line-height: 1.6 !important;
	border-top: 1px solid var(--rr-border) !important;
}
.woocommerce-privacy-policy-text p {
	margin: 0 !important;
	font-size: 0.72rem !important;
	color: #aaa !important;
	line-height: 1.6 !important;
}
.woocommerce-privacy-policy-text a {
	color: var(--rr-red) !important;
	text-decoration: none !important;
	border-bottom: 1px solid rgba(128,0,32,0.25) !important;
	font-size: inherit !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	transition: color 0.2s !important;
}
.woocommerce-privacy-policy-text a:hover {
	color: #6b001b !important;
}

/* WC notices */
.woocommerce-notices-wrapper { max-width:1200px; margin:0 auto; padding:0 48px; }
.woocommerce-error, .woocommerce-info, .woocommerce-message {
	font-family: var(--f-b) !important; font-size:0.82rem !important; border-radius:0 !important;
}
.woocommerce-error a, .woocommerce-info a, .woocommerce-message a { color:var(--rr-red) !important; }


/* ════════════════════════════════════════════════════════
   RESPONSIVE — TABLET (≤ 1024px)
════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
	.rr-cart-layout {
		grid-template-columns: 1fr 320px !important;
		padding: 40px 32px 64px;
		gap: 32px;
	}
	.rr-cart-wrap .rr-cart-head { grid-template-columns:64px 1fr 110px 110px 40px; }
	.rr-cart-wrap .rr-cart-row  { grid-template-columns:64px 1fr 110px 110px 40px; }
	.rr-cart-wrap .rr-cart-img-cell img { width:64px !important; height:64px !important; }

	form.woocommerce-checkout {
		grid-template-columns: 1fr 300px !important;
		padding: 28px 32px 64px !important;
	}
	.woocommerce-notices-wrapper { padding:0 32px; }
}

/* ════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE (≤ 767px)
════════════════════════════════════════════════════════ */
@media (max-width: 767px) {

	.rr-cart-layout {
		grid-template-columns: 1fr !important;
		padding: 28px 20px 56px;
		gap: 0;
	}
	.rr-cart-wrap .rr-cart-main     { order:1; }
	.rr-cart-wrap .rr-order-summary { order:2; margin-top:28px; position:static; }
	.rr-cart-wrap .rr-cart-head     { display:none; }

	.rr-cart-wrap .rr-cart-row {
		grid-template-columns: 64px 1fr 40px !important;
		grid-template-rows: auto auto;
		gap: 10px 12px;
		padding: 16px 0;
	}
	.rr-cart-wrap .rr-cart-img-cell  { grid-column:1; grid-row:1/3; }
	.rr-cart-wrap .rr-cart-img-cell img { width:64px !important; height:64px !important; }
	.rr-cart-wrap .rr-cart-prod-info { grid-column:2; grid-row:1; }
	.rr-cart-wrap .rr-remove-cell    { grid-column:3; grid-row:1; align-self:start; }
	.rr-cart-wrap .rr-qty-cell       { grid-column:2; grid-row:2; }
	.rr-cart-wrap .rr-cart-price-cell {
		grid-column:3; grid-row:2;
		display:flex; flex-direction:column; align-items:flex-end; gap:2px;
	}
	.rr-cart-wrap .rr-price-label { display:block !important; }
	.rr-cart-wrap .rr-cart-price-cell .rr-price-val { font-size:1.1rem !important; }
	.rr-cart-wrap .rr-cart-actions { flex-direction:column; align-items:flex-start; }
	.rr-cart-wrap .rr-page-title    { font-size:1.8rem !important; }
	.rr-cart-wrap .rr-os-body       { padding:18px; }
	.rr-cart-wrap .rr-os-header     { padding:18px 18px 16px; }

	form.woocommerce-checkout {
		grid-template-columns: 1fr !important;
		grid-template-areas:
			"customer"
			"heading"
			"review" !important;
		padding: 20px 20px 56px !important;
	}
	form.woocommerce-checkout #order_review { position:static !important; }

	form.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	form.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
	form.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
		grid-template-columns: 1fr !important;
	}
	form.woocommerce-checkout .form-row-wide,
	form.woocommerce-checkout .form-row-first,
	form.woocommerce-checkout .form-row-last { grid-column:1 !important; }

	.woocommerce-notices-wrapper { padding:0 20px; }
}

/* ════════════════════════════════════════════════════════
   RESPONSIVE — SMALL MOBILE (≤ 400px)
════════════════════════════════════════════════════════ */
@media (max-width: 400px) {
	.rr-cart-layout { padding-left:14px !important; padding-right:14px !important; }
	form.woocommerce-checkout { padding-left:14px !important; padding-right:14px !important; }
}

/* ── Fix: stack billing above shipping (WC uses float cols internally) ── */
form.woocommerce-checkout #customer_details {
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
}
form.woocommerce-checkout #customer_details .col-1,
form.woocommerce-checkout #customer_details .col-2 {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	clear: both !important;
	box-sizing: border-box !important;
}


/* ════════════════════════════════════════════════════════
   PAGE HEADER + PROGRESS STEPS (shared: cart & checkout)
════════════════════════════════════════════════════════ */

.rr-ph {
	background: var(--rr-bg);
	border-bottom: 1px solid var(--rr-border);
	padding: 40px 48px 28px;
}
.rr-ph-inner {
	max-width: 1280px;
	margin: 0 auto;
}

/* Title */
.rr-ph-title {
	font-family: var(--f-d) !important;
	font-size: clamp(2rem, 3vw, 2.8rem) !important;
	font-weight: 500 !important;
	line-height: 1.05 !important;
	color: var(--rr-text) !important;
	margin: 0 0 6px !important;
}
.rr-ph-title em {
	font-style: italic !important;
	color: var(--rr-red) !important;
	font-family: var(--f-d) !important;
}

/* Subtitle */
.rr-ph-sub {
	font-family: var(--f-b) !important;
	font-size: 0.67rem !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: #bbb !important;
	margin: 0 0 28px !important;
}

/* Steps row */
.rr-steps {
	display: flex;
	align-items: center;
	gap: 0;
}

.rr-step {
	display: flex;
	align-items: center;
	gap: 9px;
	font-family: var(--f-b) !important;
	font-size: 0.65rem !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: #bbb;
	white-space: nowrap;
}
.rr-step--active { color: var(--rr-text) !important; }
.rr-step--done   { color: var(--rr-success) !important; }

.rr-step-num {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 1.5px solid currentColor;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--f-b) !important;
	font-size: 0.7rem !important;
	font-weight: 500 !important;
	flex-shrink: 0;
	transition: all 0.3s;
}
.rr-step--active .rr-step-num {
	background: var(--rr-red) !important;
	border-color: var(--rr-red) !important;
	color: #fff !important;
}
.rr-step--done .rr-step-num {
	background: var(--rr-success) !important;
	border-color: var(--rr-success) !important;
	color: #fff !important;
}

.rr-step-line {
	flex: 1;
	height: 1px;
	background: var(--rr-border);
	margin: 0 12px;
	min-width: 32px;
}
.rr-step-line--done { background: var(--rr-success); }

/* On cart page: hide existing rr-page-title / subtitle (header now in rr-ph) */
.rr-cart-wrap .rr-page-title,
.rr-cart-wrap .rr-cart-subtitle {
	display: none !important;
}

/* Checkout: remove top padding from form since header is above it */
form.woocommerce-checkout {
	padding-top: 28px !important;
}

/* ── Responsive header ── */
@media (max-width: 1024px) {
	.rr-ph { padding: 28px 32px 22px; }
}

@media (max-width: 767px) {
	.rr-ph { padding: 22px 20px 18px; }
	.rr-ph-title { font-size: 1.8rem !important; }
	.rr-step-label { display: none; }   /* only numbers on mobile */
	.rr-step-line  { min-width: 16px; margin: 0 6px; }
}

@media (max-width: 400px) {
	.rr-ph { padding: 18px 14px 14px; }
}

/* ── Fix: col-2 full width (Ship to / Order Notes) ── */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2,
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
	float: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	clear: both !important;
	box-sizing: border-box !important;
}
body.woocommerce-checkout #customer_details {
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
	overflow: hidden !important;
}

/* ════════════════════════════════════════════════════════
   ORDER SUMMARY — checkout right column (review-order)
════════════════════════════════════════════════════════ */

/* Header dark block */
form.woocommerce-checkout h3#order_review_heading {
	font-family: var(--f-d) !important;
	font-size: 1.25rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.02em !important;
}

/* Items list */
.rr-co-items {
	padding: 16px 20px 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
	border-bottom: 1px solid var(--rr-border);
	padding-bottom: 16px;
}

.rr-co-item {
	display: grid;
	grid-template-columns: 24px 52px 1fr auto;
	gap: 0 10px;
	align-items: center;
}

/* Qty badge */
.rr-co-item-qty {
	width: 24px;
	height: 24px;
	background: var(--rr-red);
	color: #fff !important;
	border-radius: 50%;
	font-family: var(--f-b) !important;
	font-size: 0.62rem !important;
	font-weight: 600 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

/* Thumbnail */
.rr-co-item-thumb {
	width: 52px;
	height: 52px;
	flex-shrink: 0;
	background: var(--rr-border);
	overflow: hidden;
}
.rr-co-item-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Product name */
.rr-co-item-name {
	font-family: var(--f-d) !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: var(--rr-text) !important;
	/* truncate long names */
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

/* Dimensions + finish */
.rr-co-item-dims {
	font-family: var(--f-b) !important;
	font-size: 0.65rem !important;
	color: #aaa !important;
	margin-top: 3px !important;
	line-height: 1.4 !important;
}

/* Price */
.rr-co-item-price {
	font-family: var(--f-d) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: var(--rr-red) !important;
	white-space: nowrap !important;
	text-align: right !important;
}
.rr-co-item-price .woocommerce-Price-amount {
	font-family: var(--f-d) !important;
}

/* ── Fix: order_review_heading height + grid alignment ── */
form.woocommerce-checkout {
	align-items: start !important;
}
form.woocommerce-checkout h3#order_review_heading {
	align-self: start !important;
	height: auto !important;
	line-height: 1.2 !important;
}
form.woocommerce-checkout #order_review {
	align-self: start !important;
}

/* Heading text override — WC outputs "Your order" natively */
form.woocommerce-checkout h3#order_review_heading {
	font-size: 1.35rem !important;
}

/* ── Sticky col responsive overrides ── */
@media (max-width: 1024px) {
	.rr-co-sticky-col { top: 80px !important; grid-row: 1 !important; }
}
@media (max-width: 767px) {
	.rr-co-sticky-col {
		position: static !important;
		grid-column: 1 !important;
		grid-row: 4 !important;
		margin-top: 24px;
	}
	form.woocommerce-checkout #customer_details {
		grid-row: 1 !important;
	}
}

/* ── Review order: product rows inside table ── */
.woocommerce-checkout-review-order-table tbody#order_line_items tr.rr-co-row {
	border: none !important;
}
.woocommerce-checkout-review-order-table tbody#order_line_items td.rr-co-cell {
	padding: 12px 16px !important;
	border-bottom: 1px solid var(--rr-border) !important;
	border-top: none !important;
	background: transparent !important;
}

/* Row flex layout */
.rr-co-cell .rr-co-item {
	display: grid !important;
	grid-template-columns: 22px 52px 1fr auto auto !important;
	gap: 0 10px !important;
	align-items: center !important;
}

/* Qty badge */
.rr-co-cell .rr-co-item-qty {
	width: 22px;
	height: 22px;
	background: var(--rr-red) !important;
	color: #fff !important;
	border-radius: 50%;
	font-family: var(--f-b) !important;
	font-size: 0.62rem !important;
	font-weight: 600 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0;
}

/* Thumbnail */
.rr-co-cell .rr-co-item-thumb {
	width: 52px !important;
	height: 52px !important;
	overflow: hidden;
	background: var(--rr-bg2);
	flex-shrink: 0;
}
.rr-co-cell .rr-co-item-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform 0.3s var(--ease);
}
.rr-co-cell .rr-co-item-thumb a:hover img {
	transform: scale(1.05);
}

/* Name */
.rr-co-cell .rr-co-item-name {
	font-family: var(--f-d) !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: var(--rr-text) !important;
	margin-bottom: 3px;
}
.rr-co-cell .rr-co-item-name a {
	font-family: var(--f-d) !important;
	color: var(--rr-text) !important;
	text-decoration: none !important;
	transition: color 0.2s;
}
.rr-co-cell .rr-co-item-name a:hover {
	color: var(--rr-red) !important;
}

/* Dims */
.rr-co-cell .rr-co-item-dims {
	font-family: var(--f-b) !important;
	font-size: 0.65rem !important;
	color: #aaa !important;
	line-height: 1.4 !important;
}

/* Price */
.rr-co-cell .rr-co-item-price {
	font-family: var(--f-d) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: var(--rr-red) !important;
	white-space: nowrap !important;
	text-align: right !important;
}
.rr-co-cell .rr-co-item-price .woocommerce-Price-amount {
	font-family: var(--f-d) !important;
}

/* Remove button */
.rr-co-cell .rr-co-item-remove {
	width: 24px !important;
	height: 24px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border: 1px solid var(--rr-border) !important;
	color: #ccc !important;
	text-decoration: none !important;
	transition: border-color 0.2s, color 0.2s !important;
	flex-shrink: 0;
	background: none !important;
}
.rr-co-cell .rr-co-item-remove:hover {
	border-color: var(--rr-red) !important;
	color: var(--rr-red) !important;
}

/* Remove old .rr-co-items styles if they still exist (now replaced by tbody) */
.rr-co-items { display: none !important; }

/* ── Shipping method: align left ── */
.woocommerce-checkout-review-order-table .shipping td,
.woocommerce-checkout-review-order-table tfoot .shipping td {
	text-align: left !important;
}
.woocommerce-checkout-review-order-table .shipping td ul,
.woocommerce-checkout-review-order-table .shipping td ul.woocommerce-shipping-methods {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}
.woocommerce-checkout-review-order-table .shipping td ul li {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-family: var(--f-b) !important;
	font-size: 0.8rem !important;
	color: var(--rr-text) !important;
}
.woocommerce-checkout-review-order-table .shipping td ul li input[type="radio"] {
	accent-color: var(--rr-red) !important;
	flex-shrink: 0 !important;
	margin: 0 !important;
}

/* ── WC notices: restyle yellow boxes ── */
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout-review-order .woocommerce-info,
#order_review .woocommerce-info,
.wc-block-components-notice-banner,
.woocommerce-NoticeGroup .woocommerce-info {
	background: rgba(128,0,32,0.04) !important;
	border: 1px solid rgba(128,0,32,0.15) !important;
	border-left: 3px solid var(--rr-red) !important;
	border-radius: 0 !important;
	color: var(--rr-text) !important;
	font-family: var(--f-b) !important;
	font-size: 0.76rem !important;
	padding: 10px 14px !important;
	margin: 0 0 8px !important;
	box-shadow: none !important;
}
.woocommerce-checkout .woocommerce-info::before,
#order_review .woocommerce-info::before {
	display: none !important;
}

/* RR VAT notices (rendered by RR VAT plugin inside order review) */
/* Scoped only to .rr-vat-notice — removed #order_review p wildcard
   to prevent bleeding into privacy policy / terms blocks */
.rr-vat-notice,
p.rr-vat-notice,
.woocommerce-checkout p[class*="vat"] {
	background: rgba(128,0,32,0.04) !important;
	border-left: 3px solid var(--rr-red) !important;
	border-top: none !important;
	border-right: none !important;
	border-bottom: none !important;
	padding: 10px 14px !important;
	margin: 0 0 8px !important;
	font-family: var(--f-b) !important;
	font-size: 0.72rem !important;
	color: #555 !important;
	line-height: 1.6 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}

/* Explicit reset for privacy policy + terms — override any inherited notice styles */
.woocommerce-privacy-policy-text,
.woocommerce-terms-and-conditions-wrapper {
	background: transparent !important;
	border-left: none !important;
	border-top: none !important;
	padding-left: 16px !important;
	box-shadow: none !important;
}

/* ════════════════════════════════════════════════════════
   WC NOTICES — all variants (message / info / error)
════════════════════════════════════════════════════════ */

/* Base reset for all WC notice types */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: var(--rr-bg2) !important;
	border: 1px solid var(--rr-border) !important;
	border-top: none !important;
	border-left: 3px solid var(--rr-red) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 14px 18px !important;
	margin: 0 0 16px !important;
	font-family: var(--f-b) !important;
	font-size: 0.8rem !important;
	color: var(--rr-text) !important;
	list-style: none !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}

/* Hide default WC icon (::before) */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	display: none !important;
}

/* Success/message: green left border */
.woocommerce-message {
	border-left-color: var(--rr-success) !important;
}

/* Error: red left border */
.woocommerce-error {
	border-left-color: var(--rr-red) !important;
}

/* Info: gold left border */
.woocommerce-info {
	border-left-color: var(--rr-gold) !important;
}

/* "Undo?" link inside notice */
.woocommerce-message a.restore-item,
.woocommerce-message .button,
.woocommerce-info .button {
	font-family: var(--f-b) !important;
	font-size: 0.72rem !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--rr-red) !important;
	text-decoration: none !important;
	border: none !important;
	background: none !important;
	padding: 0 !important;
	box-shadow: none !important;
	margin-left: auto !important;
	white-space: nowrap !important;
}
.woocommerce-message a.restore-item:hover,
.woocommerce-message .button:hover {
	color: #6b001b !important;
	text-decoration: underline !important;
	background: none !important;
}

/* ════════════════════════════════════════════════════════
   EMPTY CART STATE
════════════════════════════════════════════════════════ */

.rr-cart-wrap .rr-cart-empty-wrap {
	max-width: 1280px;
	margin: 0 auto;
	padding: 80px 48px;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center;
}

.rr-cart-wrap .rr-cart-empty-icon {
	width: 64px;
	height: 64px;
	margin-bottom: 24px;
	opacity: 0.15;
}

.rr-cart-wrap .rr-cart-empty-msg {
	font-family: var(--f-d) !important;
	font-size: 1.6rem !important;
	font-weight: 500 !important;
	color: var(--rr-text) !important;
	margin-bottom: 8px !important;
}

.rr-cart-wrap .rr-cart-empty-sub {
	font-family: var(--f-b) !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: #bbb !important;
	margin-bottom: 32px !important;
}

/* Also style the native WC empty cart message */
.woocommerce-cart-empty,
p.cart-empty {
	font-family: var(--f-d) !important;
	font-size: 1.4rem !important;
	font-weight: 500 !important;
	color: var(--rr-text) !important;
	text-align: center !important;
}

/* "Return to shop" button — native WC */
.return-to-shop .button,
.woocommerce-cart .return-to-shop .button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	height: 46px !important;
	padding: 0 28px !important;
	background: var(--rr-red) !important;
	color: #fff !important;
	border: none !important;
	font-family: var(--f-b) !important;
	font-size: 0.72rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	transition: background 0.25s !important;
	margin-top: 8px !important;
}
.return-to-shop .button:hover,
.woocommerce-cart .return-to-shop .button:hover {
	background: #6b001b !important;
	color: #fff !important;
}

/* ════════════════════════════════════════════════════════
   NOTICES WRAPPER — repositioned below .rr-ph via JS
════════════════════════════════════════════════════════ */

.woocommerce-notices-wrapper {
	max-width: 1280px !important;
	margin: 0 auto !important;
	padding: 16px 48px 0 !important;
}

.woocommerce-notices-wrapper:empty {
	display: none !important;
	padding: 0 !important;
}

/* Success message (e.g. "Product removed. Undo?") */
.woocommerce-notices-wrapper .woocommerce-message {
	background: var(--rr-bg2) !important;
	border: 1px solid var(--rr-border) !important;
	border-left: 3px solid var(--rr-success) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 12px 18px !important;
	margin: 0 0 0 !important;
	font-family: var(--f-b) !important;
	font-size: 0.78rem !important;
	color: var(--rr-text) !important;
	list-style: none !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}
.woocommerce-notices-wrapper .woocommerce-message::before {
	display: none !important;
}

/* Custom icon: green checkmark */
.woocommerce-notices-wrapper .woocommerce-message::after {
	content: '';
	display: none !important;
}

/* "Undo?" link */
.woocommerce-notices-wrapper .woocommerce-message a.restore-item {
	font-family: var(--f-b) !important;
	font-size: 0.7rem !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--rr-red) !important;
	text-decoration: none !important;
	border: 1px solid rgba(128,0,32,0.25) !important;
	padding: 4px 10px !important;
	background: none !important;
	box-shadow: none !important;
	margin-left: auto !important;
	white-space: nowrap !important;
	transition: border-color 0.2s, color 0.2s !important;
}
.woocommerce-notices-wrapper .woocommerce-message a.restore-item:hover {
	border-color: var(--rr-red) !important;
	color: #6b001b !important;
	background: none !important;
}

/* Info notices */
.woocommerce-notices-wrapper .woocommerce-info {
	border-left-color: var(--rr-gold) !important;
	background: var(--rr-bg2) !important;
	border: 1px solid var(--rr-border) !important;
	border-left: 3px solid var(--rr-gold) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 12px 18px !important;
	font-family: var(--f-b) !important;
	font-size: 0.78rem !important;
	color: var(--rr-text) !important;
	list-style: none !important;
}
.woocommerce-notices-wrapper .woocommerce-info::before {
	display: none !important;
}

/* Error notices */
.woocommerce-notices-wrapper .woocommerce-error {
	background: var(--rr-bg2) !important;
	border: 1px solid var(--rr-border) !important;
	border-left: 3px solid var(--rr-red) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 12px 18px !important;
	font-family: var(--f-b) !important;
	font-size: 0.78rem !important;
	color: var(--rr-text) !important;
	list-style: none !important;
}
.woocommerce-notices-wrapper .woocommerce-error::before {
	display: none !important;
}

@media (max-width: 1024px) {
	.woocommerce-notices-wrapper { padding: 16px 32px 0 !important; }
}
@media (max-width: 767px) {
	.woocommerce-notices-wrapper { padding: 12px 20px 0 !important; }
}

/* ── RR VAT & VIES notices (.rr-cv-note) ── */
.rr-cv-note {
	display: block !important;
	background: var(--rr-bg2) !important;
	border: none !important;
	border-left: 3px solid var(--rr-gold) !important;
	padding: 10px 14px !important;
	margin: 0 0 6px !important;
	font-family: var(--f-b) !important;
	font-size: 0.72rem !important;
	color: #666 !important;
	line-height: 1.6 !important;
	text-align: left !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* ── h3.ship-to-different-address — reset WC defaults ── */
h3.ship-to-different-address {
	clear: none !important;
	font-family: var(--f-d) !important;
	font-size: 1.15rem !important;
	font-weight: 500 !important;
	color: var(--rr-text) !important;
}

/* ── Order notes textarea: full width in grid ── */
form.woocommerce-checkout .form-row.notes {
	grid-column: 1 / -1 !important;
}
form.woocommerce-checkout .form-row.notes textarea {
	width: 100% !important;
	min-height: 110px !important;
}

/* ── #ship-to-different-address — high specificity override ── */
form.woocommerce-checkout #ship-to-different-address,
#ship-to-different-address {
	font-family: var(--f-d) !important;
	font-size: 1.15rem !important;
	font-weight: 500 !important;
	color: var(--rr-text) !important;
	float: none !important;
	clear: none !important;
	background: var(--rr-bg2) !important;
	border-bottom: 1px solid var(--rr-border) !important;
	padding: 15px 20px !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}

/* ════════════════════════════════════════════════════════
   1. Remove sticky from order summary columns
════════════════════════════════════════════════════════ */

.rr-co-sticky-col {
	position: static !important;
	top: auto !important;
}

.rr-cart-wrap .rr-order-summary {
	position: static !important;
	top: auto !important;
}

/* ════════════════════════════════════════════════════════
   2. WooCommerce notifications — full restyle
   Covers: woocommerce-message, woocommerce-info, woocommerce-error
   Both inside .woocommerce-notices-wrapper and inline
════════════════════════════════════════════════════════ */

/* Base */
ul.woocommerce-error,
.woocommerce-error,
.woocommerce-message,
.woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info {
	/* Explicit resets — no all:unset */
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	max-width: 100% !important;
	padding: 13px 18px !important;
	margin: 0 0 8px !important;
	font-family: var(--f-b) !important;
	font-size: 0.78rem !important;
	font-weight: 400 !important;
	color: var(--rr-text) !important;
	background: var(--rr-bg2) !important;
	border: 1px solid var(--rr-border) !important;
	border-radius: 0 !important;
	list-style: none !important;
	line-height: 1.5 !important;
	text-align: left !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	border-top: none !important;
	border-right: none !important;
	box-shadow: none !important;
	background-image: none !important;
	float: none !important;
	clear: none !important;
}

/* Left accent bar per type */
.woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message {
	border-left: 3px solid var(--rr-success) !important;
}
.woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-info {
	border-left: 3px solid var(--rr-gold) !important;
}
ul.woocommerce-error,
.woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-error {
	border-left: 3px solid var(--rr-red) !important;
	flex-direction: column !important;
	align-items: flex-start !important;
}
ul.woocommerce-error li,
.woocommerce-error li {
	font-family: var(--f-b) !important;
	font-size: 0.78rem !important;
	color: var(--rr-text) !important;
	list-style: none !important;
	padding: 2px 0 !important;
}

/* Hide default WC icons */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	display: none !important;
	content: none !important;
}

/* Links inside notices */
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
	font-family: var(--f-b) !important;
	font-size: 0.72rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: var(--rr-red) !important;
	text-decoration: none !important;
	background: none !important;
	border: none !important;
	padding: 0 !important;
	box-shadow: none !important;
	transition: color 0.2s !important;
}
.woocommerce-message a:hover,
.woocommerce-info a:hover,
.woocommerce-error a:hover {
	color: #6b001b !important;
	text-decoration: underline !important;
	background: none !important;
}

/* "Undo?" and button-style links pushed to the right */
.woocommerce-message a.restore-item,
.woocommerce-message .button,
.woocommerce-info .button {
	margin-left: auto !important;
	white-space: nowrap !important;
	border: 1px solid rgba(128,0,32,0.3) !important;
	padding: 4px 12px !important;
	letter-spacing: 0.1em !important;
}
.woocommerce-message a.restore-item:hover,
.woocommerce-message .button:hover {
	border-color: var(--rr-red) !important;
	text-decoration: none !important;
}

/* ════════════════════════════════════════════════════════
   EMPTY CART — full redesign
════════════════════════════════════════════════════════ */

.rr-empty-cart {
	max-width: 560px;
	margin: 0 auto;
	padding: 64px 24px 80px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

/* ── Media slot ── */
.rr-empty-media {
	width: 200px;
	height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 28px;
	/* Replace contents via filter rr_empty_cart_media or swap SVG below */
}

.rr-empty-media__svg {
	width: 160px;
	height: 160px;
	opacity: 0.45;
}

/* Heat wave animation */
.rr-heat-wave {
	animation: rr-heat 2.4s ease-in-out infinite;
	transform-origin: center bottom;
}
.rr-heat-wave--2 {
	animation-delay: 0.6s;
}
@keyframes rr-heat {
	0%, 100% { transform: translateY(0) scaleX(1); opacity: 0.9; }
	50%       { transform: translateY(-4px) scaleX(0.85); opacity: 0.3; }
}

/* ── Divider ── */
.rr-empty-divider {
	width: 40px;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--rr-gold), transparent);
	margin: 0 auto 28px;
}

/* ── Title ── */
.rr-empty-title {
	font-family: var(--f-d) !important;
	font-size: clamp(1.8rem, 3vw, 2.4rem) !important;
	font-weight: 500 !important;
	color: var(--rr-text) !important;
	line-height: 1.15 !important;
	margin: 0 0 14px !important;
}
.rr-empty-title em {
	font-style: italic !important;
	color: var(--rr-red) !important;
	font-family: var(--f-d) !important;
}

/* ── Description ── */
.rr-empty-desc {
	font-family: var(--f-b) !important;
	font-size: 0.85rem !important;
	color: #999 !important;
	line-height: 1.7 !important;
	margin: 0 0 36px !important;
	max-width: 400px !important;
}

/* ── Actions ── */
.rr-empty-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
}

.rr-empty-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	height: 48px !important;
	padding: 0 28px !important;
	font-family: var(--f-b) !important;
	font-size: 0.68rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	cursor: pointer !important;
	transition: background 0.25s, color 0.25s, border-color 0.25s !important;
	border-radius: 0 !important;
}

.rr-empty-btn--primary {
	background: var(--rr-red) !important;
	color: #fff !important;
	border: 1px solid var(--rr-red) !important;
}
.rr-empty-btn--primary:hover {
	background: #6b001b !important;
	border-color: #6b001b !important;
	color: #fff !important;
}

@media (max-width: 767px) {
	.rr-empty-cart { padding: 40px 20px 56px; }
	.rr-empty-media { width: 140px; height: 140px; }
	.rr-empty-media__svg { width: 120px; height: 120px; }
}

/* ── Fix: remove stray left-border from form fields in billing/shipping ── */
form.woocommerce-checkout .woocommerce-billing-fields p,
form.woocommerce-checkout .woocommerce-billing-fields p.form-row,
form.woocommerce-checkout .woocommerce-shipping-fields p,
form.woocommerce-checkout .woocommerce-shipping-fields p.form-row,
form.woocommerce-checkout .woocommerce-additional-fields p,
form.woocommerce-checkout #customer_details p,
form.woocommerce-checkout #customer_details div[class*="vat"],
form.woocommerce-checkout #customer_details div[class*="rr-cv"],
form.woocommerce-checkout #customer_details .woocommerce-input-wrapper {
	border-left: none !important;
	background: transparent !important;
	padding-left: 0 !important;
	margin-left: 0 !important;
}

/* ── RR VAT fields: remove stray border-left ── */
#billing_company_field,
#billing_vat_number_field,
#billing_vat_status_field,
.rr-company-hidden,
.rr-vat-field,
.rr-vat-status-field {
	border-left: none !important;
	background: transparent !important;
	padding-left: 0 !important;
	margin-left: 0 !important;
	box-shadow: none !important;
}

/* ── B2B active: highlight the VAT block with brand style ── */
#billing_vat_number_field.woocommerce-validated,
.rr-vat-field[style*="display: block"],
.rr-vat-field[style*="display:block"] {
	border-left: 3px solid var(--rr-gold) !important;
	padding-left: 14px !important;
	background: rgba(217,179,130,0.04) !important;
}

/* ════════════════════════════════════════════════════════
   B2B FIELDS — styled only when visible
════════════════════════════════════════════════════════ */

/* Reset complet pe toate cele 3 câmpuri indiferent de stare */
#billing_company_field,
#billing_vat_number_field,
#billing_vat_status_field {
	border-left: none !important;
	border-top: none !important;
	border-right: none !important;
	border-bottom: none !important;
	background: transparent !important;
	padding-left: 0 !important;
	margin-left: 0 !important;
	box-shadow: none !important;
}

/* Wrapper care conține cele 3 câmpuri — fără styling când B2B e dezactivat */
.rr-company-hidden,
.rr-vat-field,
.rr-vat-status-field {
	border: none !important;
	border-left: none !important;
	background: transparent !important;
	padding-left: 0 !important;
	margin-left: 0 !important;
}

/* Highlight brand DOAR când câmpurile sunt vizibile (display: block) */
#billing_company_field[style*="display: block"],
#billing_company_field[style*="display:block"],
#billing_vat_number_field[style*="display: block"],
#billing_vat_number_field[style*="display:block"] {
	grid-column: 1 / -1 !important;
}

/* Grup vizual pentru zona B2B activă —
   aplicat pe wrapper-ul părinte al celor 3 câmpuri */
.woocommerce-billing-fields__field-wrapper:has(
	#billing_vat_number_field[style*="display: block"]
),
.woocommerce-billing-fields__field-wrapper:has(
	#billing_vat_number_field[style*="display:block"]
) {
	/* Contur discret pe zona de câmpuri când B2B e activ — doar prin outline pe câmpuri individuale */
}

#billing_company_field[style*="display: block"] input,
#billing_company_field[style*="display:block"] input,
#billing_vat_number_field[style*="display: block"] input,
#billing_vat_number_field[style*="display:block"] input {
	border-color: var(--rr-gold) !important;
	background: rgba(217,179,130,0.04) !important;
}

/* ── billing_vat_status_field: collapse when empty ── */
#billing_vat_status_field {
	min-height: 0 !important;
	height: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	background: transparent !important;
	grid-column: 1 / -1 !important;
}
#billing_vat_status_field:empty {
	display: none !important;
}
/* Also when it contains only whitespace */
#billing_vat_status_field p,
#billing_vat_status_field span:empty {
	margin: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
	line-height: 0 !important;
}

/* ── 1. Remove vertical column divider from order summary table ── */
.woocommerce-checkout-review-order-table,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	border-left: none !important;
	border-right: none !important;
}
.woocommerce-checkout-review-order-table tfoot tr th {
	border-left: none !important;
}

/* ── 2. Back to cart link ── */
.rr-back-to-cart {
	display: inline-flex !important;
	align-items: center !important;
	gap: 7px !important;
	font-family: var(--f-b) !important;
	font-size: 0.65rem !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: #aaa !important;
	text-decoration: none !important;
	margin-bottom: 20px !important;
	transition: color 0.2s !important;
	display: block !important;
}
.rr-back-to-cart:hover { color: var(--rr-red) !important; }

/* ── Empty cart custom image ── */
.rr-empty-media .rr-empty-media__custom {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	display: block !important;
}

/* ── Empty cart: video support ── */
.rr-empty-media__video {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

/* ── Checkout order review: loading overlay ── */
.rr-review-overlay {
	position: absolute !important;
	inset: 0 !important;
	background: rgba(249,249,249,0.85) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	z-index: 10 !important;
	backdrop-filter: blur(2px) !important;
}

.rr-review-spinner {
	width: 28px !important;
	height: 28px !important;
	border: 2px solid var(--rr-border) !important;
	border-top-color: var(--rr-red) !important;
	border-radius: 50% !important;
	animation: rr-spin 0.7s linear infinite !important;
}

@keyframes rr-spin {
	to { transform: rotate(360deg); }
}

/* ── Empty divider: no background ── */
.rr-empty-divider {
	background: none !important;
	border: none !important;
}

/* ════════════════════════════════════════════════════════
   ORDER CONFIRMATION — thankyou.php
   Prefix: .rr-ty-*
════════════════════════════════════════════════════════ */

/* ── Wrapper ── */
.rr-ty-wrap {
	font-family: var(--f-b);
	color: var(--rr-text);
}

/* ── Success banner ── */
.rr-ty-banner {
	background: var(--rr-dark);
	padding: 36px 48px;
	position: relative;
	overflow: hidden;
}
.rr-ty-banner::after {
	content: '';
	position: absolute;
	bottom: 0; left: 0; right: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--rr-red), var(--rr-gold), var(--rr-red));
}
/* Subtle grain overlay */
.rr-ty-banner::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
	pointer-events: none;
	opacity: 0.35;
}

.rr-ty-banner-inner {
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 24px;
	position: relative;
}

/* Animated checkmark */
.rr-ty-check {
	width: 52px;
	height: 52px;
	flex-shrink: 0;
	color: var(--rr-gold);
}
.rr-ty-check svg {
	width: 100%;
	height: 100%;
	overflow: visible;
}
.rr-ty-check-ring {
	stroke-dasharray: 157;
	stroke-dashoffset: 157;
	animation: rr-ty-ring 0.6s var(--ease) 0.1s forwards;
}
.rr-ty-check-mark {
	stroke-dasharray: 36;
	stroke-dashoffset: 36;
	animation: rr-ty-tick 0.4s var(--ease) 0.65s forwards;
}
@keyframes rr-ty-ring {
	to { stroke-dashoffset: 0; }
}
@keyframes rr-ty-tick {
	to { stroke-dashoffset: 0; }
}

/* Banner text */
.rr-ty-banner-copy {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.rr-ty-banner-title {
	font-family: var(--f-d) !important;
	font-size: clamp(1.5rem, 2.2vw, 2rem) !important;
	font-weight: 500 !important;
	color: #fff !important;
	margin: 0 !important;
	line-height: 1.1 !important;
}
.rr-ty-banner-sub {
	font-family: var(--f-b) !important;
	font-size: 0.78rem !important;
	color: rgba(255,255,255,0.5) !important;
	margin: 0 !important;
	line-height: 1.5 !important;
}
.rr-ty-banner-sub strong { color: rgba(255,255,255,0.85) !important; font-weight: 500 !important; }
.rr-ty-banner-sub em    { color: var(--rr-gold) !important; font-style: normal !important; }

/* ── Page layout ── */
.rr-ty-layout {
	max-width: 1280px;
	margin: 0 auto;
	padding: 40px 48px 80px;
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: 32px;
	align-items: start;
}

/* ── Card ── */
.rr-ty-card {
	background: var(--rr-bg2);
	border: 1px solid var(--rr-border);
}

.rr-ty-card-head {
	padding: 16px 22px;
	border-bottom: 1px solid var(--rr-border);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.rr-ty-card-label {
	font-family: var(--f-b) !important;
	font-size: 0.6rem !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: var(--rr-muted) !important;
	font-weight: 500 !important;
}
.rr-ty-card-count {
	font-family: var(--f-b) !important;
	font-size: 0.62rem !important;
	font-weight: 600 !important;
	color: #fff !important;
	background: var(--rr-red) !important;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

/* ── Items list ── */
.rr-ty-items {
	display: flex;
	flex-direction: column;
}

.rr-ty-item {
	display: grid;
	grid-template-columns: 22px 60px 1fr auto;
	gap: 0 12px;
	align-items: center;
	padding: 14px 22px;
	border-bottom: 1px solid var(--rr-border);
}
.rr-ty-item:last-child {
	border-bottom: none;
}

/* Qty badge */
.rr-ty-item-qty {
	width: 22px;
	height: 22px;
	background: var(--rr-red);
	color: #fff !important;
	border-radius: 50%;
	font-family: var(--f-b) !important;
	font-size: 0.6rem !important;
	font-weight: 600 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

/* Thumbnail */
.rr-ty-item-thumb {
	width: 60px;
	height: 60px;
	flex-shrink: 0;
	background: var(--rr-border);
	overflow: hidden;
}
.rr-ty-item-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s var(--ease);
}
.rr-ty-item-thumb a:hover img { transform: scale(1.05); }

/* Info */
.rr-ty-item-info {
	min-width: 0;
}
.rr-ty-item-name {
	font-family: var(--f-d) !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: var(--rr-text) !important;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.rr-ty-item-name a {
	font-family: var(--f-d) !important;
	color: var(--rr-text) !important;
	text-decoration: none !important;
	transition: color 0.2s;
}
.rr-ty-item-name a:hover { color: var(--rr-red) !important; }
.rr-ty-item-meta {
	font-family: var(--f-b) !important;
	font-size: 0.65rem !important;
	color: #aaa !important;
	margin-top: 3px;
	line-height: 1.4;
}

/* Price */
.rr-ty-item-price {
	font-family: var(--f-d) !important;
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	color: var(--rr-red) !important;
	white-space: nowrap;
	text-align: right;
}
.rr-ty-item-price .woocommerce-Price-amount {
	font-family: var(--f-d) !important;
}

/* ── Totals ── */
.rr-ty-totals {
	padding: 16px 22px 20px;
	border-top: 1px solid var(--rr-border);
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.rr-ty-total-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
}
.rr-ty-tl {
	font-family: var(--f-b) !important;
	font-size: 0.78rem !important;
	color: var(--rr-muted) !important;
}
.rr-ty-tv {
	font-family: var(--f-b) !important;
	font-size: 0.82rem !important;
	font-weight: 500 !important;
	color: var(--rr-text) !important;
}
.rr-ty-tv--free {
	color: var(--rr-success) !important;
}
.rr-ty-divider {
	height: 1px;
	background: var(--rr-border);
	margin: 4px 0;
}
.rr-ty-total-final .rr-ty-tl {
	font-size: 0.65rem !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
}
.rr-ty-tv--total {
	font-family: var(--f-d) !important;
	font-size: 1.9rem !important;
	font-weight: 600 !important;
	color: var(--rr-red) !important;
}
.rr-ty-tv--total .woocommerce-Price-amount {
	font-family: var(--f-d) !important;
	font-size: inherit !important;
}

/* ── Aside cards ── */
.rr-ty-aside {
	position: sticky;
	top: 100px;
}

/* Order meta */
.rr-ty-meta {
	margin: 0;
	padding: 16px 22px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.rr-ty-meta-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
}
.rr-ty-meta-row dt {
	font-family: var(--f-b) !important;
	font-size: 0.65rem !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: #bbb !important;
	flex-shrink: 0;
}
.rr-ty-meta-row dd {
	font-family: var(--f-b) !important;
	font-size: 0.82rem !important;
	font-weight: 500 !important;
	color: var(--rr-text) !important;
	text-align: right;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Billing address */
.rr-ty-address {
	display: block;
	font-family: var(--f-b) !important;
	font-size: 0.82rem !important;
	color: var(--rr-text) !important;
	line-height: 1.7 !important;
	font-style: normal !important;
	padding: 16px 22px 20px;
}

/* CTA button */
.rr-ty-cta {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	width: 100% !important;
	height: 50px !important;
	background: transparent !important;
	border: 1px solid var(--rr-border) !important;
	color: var(--rr-muted) !important;
	font-family: var(--f-b) !important;
	font-size: 0.68rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	margin-top: 16px !important;
	transition: color 0.2s, border-color 0.2s !important;
	box-sizing: border-box !important;
}
.rr-ty-cta:hover {
	color: var(--rr-red) !important;
	border-color: var(--rr-red) !important;
}
.rr-ty-cta svg { flex-shrink: 0; transition: transform 0.25s var(--ease); }
.rr-ty-cta:hover svg { transform: translateX(3px); }

/* ── Not found fallback ── */
.rr-ty-not-found {
	max-width: 1280px;
	margin: 0 auto;
	padding: 60px 48px;
	text-align: center;
	font-family: var(--f-b);
	color: var(--rr-muted);
}

/* ── Responsive ── */
@media (max-width: 1024px) {
	.rr-ty-banner  { padding: 28px 32px; }
	.rr-ty-layout  { padding: 32px 32px 64px; gap: 24px; grid-template-columns: 1fr 300px; }
}
@media (max-width: 767px) {
	.rr-ty-banner  { padding: 22px 20px; }
	.rr-ty-banner-title { font-size: 1.4rem !important; }
	.rr-ty-layout  {
		grid-template-columns: 1fr !important;
		padding: 24px 20px 56px;
		gap: 20px;
	}
	.rr-ty-aside   { position: static; }
	.rr-ty-item    { grid-template-columns: 22px 52px 1fr auto; padding: 12px 16px; }
	.rr-ty-item-thumb { width: 52px !important; height: 52px !important; }
	.rr-ty-totals  { padding: 14px 16px 16px; }
	.rr-ty-meta    { padding: 14px 16px; }
	.rr-ty-address { padding: 14px 16px 16px; }
	.rr-ty-card-head { padding: 14px 16px; }
}
@media (max-width: 400px) {
	.rr-ty-layout  { padding-left: 14px !important; padding-right: 14px !important; }
	.rr-ty-banner  { padding-left: 14px !important; padding-right: 14px !important; }
}


/* ════════════════════════════════════════════════════════
   CART PAGE — full-screen loading overlay (product remove)
   Supresses WC blockUI; position:fixed covers viewport cleanly
════════════════════════════════════════════════════════ */

.rr-cart-loading-overlay {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	background: rgba(255, 255, 255, 0.88) !important;
	backdrop-filter: blur(4px) !important;
	-webkit-backdrop-filter: blur(4px) !important;
	z-index: 999999 !important;   /* above everything incl. header */
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
}

.rr-cart-loading-spinner {
	width: 34px !important;
	height: 34px !important;
	border: 2px solid var(--rr-border) !important;
	border-top-color: var(--rr-red) !important;
	border-radius: 50% !important;
	animation: rr-spin 0.7s linear infinite !important;
	position: relative !important;
	top: auto !important;
	left: auto !important;
	transform: none !important;
	margin: 0 !important;
}

/* Suppress WooCommerce default blockUI overlay (cart + checkout)
   We use our own fixed overlay instead */
.woocommerce-cart .blockOverlay,
.woocommerce-cart .blockMsg,
.woocommerce-cart .blockUI,
.woocommerce-cart table.cart tbody .blockOverlay,
body.woocommerce-cart .blockOverlay,
/* Checkout: blockUI fires on #order_review and form during AJAX —
   suppressed here; spinner handled by .rr-cart-loading-overlay */
body.woocommerce-checkout form.woocommerce-checkout > .blockOverlay,
body.woocommerce-checkout #order_review > .blockOverlay {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}


/* ════════════════════════════════════════════════════════
   CHECKOUT — hide validation error SUMMARY list
   Individual field errors (inline) are kept visible.
   The summary ul.woocommerce-error repeats all errors
   in one block — redundant and visually heavy.
════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════
   CHECKOUT VALIDATION — error summary + per-field feedback
   Sumarul e vizibil, stilizat brand. Câmpurile invalide
   primesc border roșu + label roșu.
════════════════════════════════════════════════════════ */

/* ── Error summary (ul.woocommerce-error in notices-wrapper) ── */
body.woocommerce-checkout .woocommerce-notices-wrapper ul.woocommerce-error,
body.woocommerce-checkout .woocommerce-NoticeGroup ul.woocommerce-error {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	width: 100% !important;
	box-sizing: border-box !important;
	max-width: 100% !important;
	padding: 14px 18px !important;
	margin: 0 0 8px !important;
	background: var(--rr-bg2) !important;
	border: 1px solid var(--rr-border) !important;
	border-left: 3px solid var(--rr-red) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	list-style: none !important;
	gap: 4px !important;
}

body.woocommerce-checkout .woocommerce-notices-wrapper ul.woocommerce-error li,
body.woocommerce-checkout .woocommerce-NoticeGroup ul.woocommerce-error li {
	font-family: var(--f-b) !important;
	font-size: 0.78rem !important;
	font-weight: 400 !important;
	color: var(--rr-text) !important;
	list-style: none !important;
	padding: 2px 0 !important;
	margin: 0 !important;
}

body.woocommerce-checkout .woocommerce-notices-wrapper ul.woocommerce-error::before,
body.woocommerce-checkout .woocommerce-NoticeGroup ul.woocommerce-error::before {
	display: none !important;
	content: none !important;
}

/* ── Per-field validation ── */
form.woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
form.woocommerce-checkout .form-row.woocommerce-invalid select,
form.woocommerce-checkout .form-row.woocommerce-invalid textarea {
	border-color: var(--rr-red) !important;
	box-shadow: 0 0 0 3px rgba(128, 0, 32, 0.08) !important;
}

form.woocommerce-checkout .form-row.woocommerce-invalid > label {
	color: var(--rr-red) !important;
}

form.woocommerce-checkout .form-row.woocommerce-validated input.input-text,
form.woocommerce-checkout .form-row.woocommerce-validated select {
	border-color: var(--rr-success) !important;
	box-shadow: none !important;
}

/* ════════════════════════════════════════════════════════
   GLOBAL — prevent horizontal overflow
   Set only on html (not body) — setting on both causes
   scroll to transfer to html element, creating conflicts.
════════════════════════════════════════════════════════ */

html,
body {
	max-width: 100% !important;
}

/* Restore box-sizing on notice elements (lost after all:unset) */
ul.woocommerce-error,
.woocommerce-error,
.woocommerce-message,
.woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info {
	box-sizing: border-box !important;
	max-width: 100% !important;
}


/* ════════════════════════════════════════════════════════
   RETURNING CUSTOMER LOGIN — checkout only
   .rr-login-outer lives ABOVE form.woocommerce-checkout (outside grid)
════════════════════════════════════════════════════════ */

/* ── Outer wrapper: matches checkout form width/padding ── */
.rr-login-outer {
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding: 16px 48px 0 !important;
}

/* ── Toggle notice bar ── */
.rr-login-outer .woocommerce-form-login-toggle {
	margin: 0 0 0 !important;
}

.rr-login-outer .woocommerce-form-login-toggle .woocommerce-info,
.rr-login-outer .woocommerce-info {
	/* Explicit resets — no all:unset (it removes box-sizing and can cause layout explosions) */
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	max-width: 100% !important;
	padding: 12px 20px !important;
	background: var(--rr-bg2) !important;
	border: 1px solid var(--rr-border) !important;
	border-left: 3px solid var(--rr-red) !important;
	border-top: none !important;
	border-right: none !important;
	font-family: var(--rr-f-b, 'Inter', sans-serif) !important;
	font-size: 0.78rem !important;
	font-weight: 400 !important;
	color: var(--rr-muted) !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	list-style: none !important;
	text-decoration: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background-image: none !important;
}

.rr-login-outer .woocommerce-info::before {
	display: none !important;
	content: none !important;
}

.rr-login-outer .woocommerce-info .showlogin {
	/* No all:unset — explicit resets only */
	display: inline !important;
	cursor: pointer !important;
	margin-left: auto !important;
	box-sizing: border-box !important;
	background: none !important;
	border: none !important;
	padding: 0 !important;
	float: none !important;
	text-align: left !important;
	font-family: var(--f-b) !important;
	font-size: 0.65rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--rr-red) !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	transition: color 0.2s !important;
	border-bottom: 1px solid rgba(128, 0, 32, 0.35) !important;
	padding-bottom: 1px !important;
}
.rr-login-outer .woocommerce-info .showlogin:hover {
	color: #6b001b !important;
	border-bottom-color: #6b001b !important;
}

/* ── Login form card ── */
.rr-login-outer form.woocommerce-form-login {
	background: var(--rr-bg2) !important;
	border: 1px solid var(--rr-border) !important;
	border-top: none !important;
	margin: 0 0 24px !important;
	padding: 0 !important;
	overflow: hidden !important;
	/* NO display:block — WC controls visibility via jQuery slideToggle */
	float: none !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* ── Hide WC's intro paragraph ── */
.rr-login-outer form.woocommerce-form-login .rr-login-body > p:first-child,
.rr-login-outer form.woocommerce-form-login > p {
	display: none !important;
}

/* Hide WC clearfix divs inside body wrapper */
.rr-login-outer form.woocommerce-form-login .rr-login-body .clear,
.rr-login-outer form.woocommerce-form-login .rr-login-body div.clear {
	display: none !important;
}

/* ── Injected header ── */
.rr-login-outer form.woocommerce-form-login .rr-login-header {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	background: var(--rr-dark) !important;
	padding: 15px 22px !important;
	position: relative !important;
}
.rr-login-outer form.woocommerce-form-login .rr-login-header::after {
	content: '' !important;
	position: absolute !important;
	bottom: 0; left: 0; right: 0 !important;
	height: 2px !important;
	background: linear-gradient(90deg, var(--rr-red), var(--rr-gold)) !important;
}
.rr-login-outer form.woocommerce-form-login .rr-login-header-icon {
	color: var(--rr-gold) !important;
	flex-shrink: 0 !important;
}
.rr-login-outer form.woocommerce-form-login .rr-login-header-title {
	font-family: var(--f-d) !important;
	font-size: 1.05rem !important;
	font-weight: 500 !important;
	color: #fff !important;
	line-height: 1.2 !important;
}

/* ── Form body — 2-col grid ── */
.rr-login-outer form.woocommerce-form-login .rr-login-body {
	padding: 20px 22px 0 !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 14px 20px !important;
	align-items: start !important;
}

/* Username + password: 1 column each */
.rr-login-outer form.woocommerce-form-login .rr-login-body .form-row-first,
.rr-login-outer form.woocommerce-form-login .rr-login-body .form-row-last {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	clear: none !important;
	box-sizing: border-box !important;
}

/* Remember + submit + lost password: span full width */
.rr-login-outer form.woocommerce-form-login .rr-login-body .form-row:not(.form-row-first):not(.form-row-last) {
	grid-column: 1 / -1 !important;
	margin: 0 !important;
	padding: 0 !important;
}
.rr-login-outer form.woocommerce-form-login .rr-login-body .lost_password {
	grid-column: 1 / -1 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Remember + submit: flex row */
.rr-login-outer form.woocommerce-form-login .rr-login-body .form-row:not(.form-row-first):not(.form-row-last) {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	padding-top: 4px !important;
}

/* ── Labels ── */
.rr-login-outer form.woocommerce-form-login .rr-login-body label,
.rr-login-outer form.woocommerce-form-login .rr-login-body .woocommerce-form__label {
	font-family: var(--f-b) !important;
	font-size: 0.6rem !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: var(--rr-muted) !important;
	font-weight: 500 !important;
	display: block !important;
	margin-bottom: 5px !important;
}

/* ── Inputs ── */
.rr-login-outer form.woocommerce-form-login .rr-login-body input[type="text"],
.rr-login-outer form.woocommerce-form-login .rr-login-body input[type="email"],
.rr-login-outer form.woocommerce-form-login .rr-login-body input[type="password"] {
	height: 46px !important;
	padding: 0 14px !important;
	border: 1px solid var(--rr-border) !important;
	background: var(--rr-bg) !important;
	font-family: var(--f-b) !important;
	font-size: 0.83rem !important;
	color: var(--rr-text) !important;
	outline: none !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
	border-radius: 0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	box-shadow: none !important;
	display: block !important;
}
.rr-login-outer form.woocommerce-form-login .rr-login-body input::placeholder {
	color: #ccc !important;
}
.rr-login-outer form.woocommerce-form-login .rr-login-body input[type="text"]:focus,
.rr-login-outer form.woocommerce-form-login .rr-login-body input[type="email"]:focus,
.rr-login-outer form.woocommerce-form-login .rr-login-body input[type="password"]:focus {
	border-color: var(--rr-gold) !important;
	box-shadow: 0 0 0 3px rgba(217, 179, 130, 0.12) !important;
}

/* ── Remember me ── */
.rr-login-outer form.woocommerce-form-login .woocommerce-form__label-for-checkbox {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-family: var(--f-b) !important;
	font-size: 0.72rem !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--rr-muted) !important;
	cursor: pointer !important;
	margin: 0 !important;
}
.rr-login-outer form.woocommerce-form-login .woocommerce-form__input-checkbox {
	width: 15px !important;
	height: 15px !important;
	accent-color: var(--rr-red) !important;
	margin: 0 !important;
	flex-shrink: 0 !important;
	cursor: pointer !important;
}

/* ── Login button ── */
.rr-login-outer form.woocommerce-form-login .woocommerce-Button,
.rr-login-outer form.woocommerce-form-login button[name="login"],
.rr-login-outer form.woocommerce-form-login input[type="submit"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 44px !important;
	padding: 0 32px !important;
	background: var(--rr-red) !important;
	color: #fff !important;
	border: none !important;
	font-family: var(--f-b) !important;
	font-size: 0.65rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	transition: background 0.25s !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	white-space: nowrap !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	margin: 0 !important;
}
.rr-login-outer form.woocommerce-form-login .woocommerce-Button:hover,
.rr-login-outer form.woocommerce-form-login button[name="login"]:hover,
.rr-login-outer form.woocommerce-form-login input[type="submit"]:hover {
	background: #6b001b !important;
	color: #fff !important;
}

/* ── Lost password ── */
.rr-login-outer form.woocommerce-form-login .rr-login-body .lost_password {
	text-align: right !important;
	padding: 2px 0 20px !important;
}
.rr-login-outer form.woocommerce-form-login .rr-login-body .lost_password a {
	font-family: var(--f-b) !important;
	font-size: 0.68rem !important;
	color: var(--rr-red) !important;
	text-decoration: none !important;
	transition: color 0.2s !important;
	border-bottom: 1px solid transparent !important;
}
.rr-login-outer form.woocommerce-form-login .rr-login-body .lost_password a:hover {
	color: #6b001b !important;
	border-bottom-color: rgba(107, 0, 27, 0.35) !important;
}

/* ── Responsive: tablet ── */
@media (max-width: 1024px) {
	.rr-login-outer {
		padding: 16px 32px 0 !important;
	}
}

/* ── Responsive: mobile ── */
@media (max-width: 767px) {
	.rr-login-outer {
		padding: 12px 20px 0 !important;
	}
	.rr-login-outer form.woocommerce-form-login .rr-login-body {
		grid-template-columns: 1fr !important;
		padding: 16px 16px 0 !important;
		gap: 12px !important;
	}
	.rr-login-outer form.woocommerce-form-login .rr-login-header {
		padding: 13px 16px !important;
	}
	.rr-login-outer form.woocommerce-form-login .rr-login-body .form-row:not(.form-row-first):not(.form-row-last) {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 10px !important;
	}
	.rr-login-outer form.woocommerce-form-login .woocommerce-Button,
	.rr-login-outer form.woocommerce-form-login button[name="login"],
	.rr-login-outer form.woocommerce-form-login input[type="submit"] {
		width: 100% !important;
		height: 48px !important;
	}
	.rr-login-outer form.woocommerce-form-login .rr-login-body .lost_password {
		text-align: left !important;
	}
}

@media (max-width: 400px) {
	.rr-login-outer {
		padding: 10px 14px 0 !important;
	}
}
