/** Cart, checkout, completion, Wishlist and customer-account components. */
.rc-commerce-page { min-height: 60vh; padding-bottom: clamp(4rem, 8vw, 8rem); background: #f7f3ed; }
.rc-cart-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(310px, .7fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: start; padding-top: clamp(2rem, 4vw, 4rem); }
.rc-cart-lines { min-width: 0; }
.rc-cart-lines__header { display: grid; grid-template-columns: 1fr auto; padding: 0 0 .8rem; border-bottom: 1px solid var(--rc-text-primary); color: var(--rc-text-muted); font-size: .64rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.rc-cart-item { display: grid; grid-template-columns: 126px minmax(0, 1fr) auto; gap: 1.3rem; padding: 1.4rem 0; border-bottom: 1px solid var(--rc-rule); }
.rc-cart-item__media img { width: 126px; height: 154px; object-fit: cover; }
.rc-cart-item__details { min-width: 0; }
.rc-cart-item__details h2 { margin: 0 0 .4rem; font-family: var(--rc-display-font); font-size: 1.45rem; font-weight: 550; line-height: 1.15; overflow-wrap: anywhere; }
.rc-cart-item__meta, .rc-cart-item__meta dl { margin: .35rem 0; color: var(--rc-text-muted); font-size: .7rem; }
.rc-cart-item__unit-price { margin-top: .55rem; font-size: .78rem; }
.rc-cart-item__commercial { display: flex; flex-direction: column; align-items: end; gap: .45rem; min-width: 100px; text-align: right; }
.rc-cart-item__commercial strong { font-size: 1rem; }
.rc-cart-item__commercial small { color: var(--rc-success); font-size: .66rem; }
.rc-cart-item__commercial .remove { margin-top: auto; color: var(--rc-text-muted) !important; font-size: .65rem; text-decoration: underline; text-underline-offset: 3px; }
.rc-quantity-control { display: inline-grid; grid-template-columns: 34px 48px 34px; align-items: center; margin-top: .9rem; border: 1px solid var(--rc-rule); }
.rc-quantity-control button { min-height: 36px; padding: 0; border: 0; background: transparent; color: var(--rc-text-primary); box-shadow: none; font-size: 1rem; }
.rc-quantity-control .quantity, .rc-quantity-control .qty { width: 48px; min-height: 36px; margin: 0; padding: 0; border: 0; background: transparent; text-align: center; }
.rc-quantity-control__single { text-align: center; }
.rc-cart-lines__actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1.2rem; }
.rc-cart-lines__actions .coupon { display: flex; max-width: 360px; }
.rc-cart-lines__actions .coupon input { min-height: 42px; }
.rc-cart-lines__actions .coupon .button { min-height: 42px; }
.rc-order-summary { border-top: 2px solid var(--rc-text-primary); background: #eee6db; }
.rc-cart-summary { position: sticky; top: 120px; padding: 1.7rem; }
.rc-order-summary h2 { margin: 0 0 1.4rem; font-family: var(--rc-display-font); font-size: 2rem; font-weight: 550; }
.rc-summary-rows > div, .rc-summary-total { display: flex; justify-content: space-between; gap: 1.5rem; padding: .85rem 0; border-bottom: 1px solid var(--rc-rule); font-size: .78rem; }
.rc-summary-rows__shipping { align-items: start; }
.rc-summary-rows__shipping > div { max-width: 190px; text-align: right; }
.rc-summary-total { align-items: baseline; padding: 1.3rem 0; border-bottom: 0; font-family: var(--rc-display-font); font-size: 1.25rem; }
.rc-summary-total strong { font-size: 1.5rem; }
.rc-cart-summary .wc-proceed-to-checkout { padding: 0; }
.rc-cart-summary .checkout-button { width: 100%; margin: .6rem 0 0 !important; }
.rc-cart-cross-sells { padding-top: clamp(3rem, 6vw, 6rem); }
.rc-cart-cross-sells .cross-sells > h2 { margin: 0 0 1.5rem; font-family: var(--rc-display-font); font-size: clamp(2rem, 4vw, 3.3rem); font-weight: 500; }
.rc-summary-reassurance { display: grid; gap: .55rem; margin-top: 1rem; color: var(--rc-text-muted); font-size: .66rem; }
.rc-summary-reassurance span { display: flex; align-items: center; gap: .45rem; }
.rc-summary-reassurance svg { width: 15px; color: var(--rc-accent-premium); }

.rc-checkout-heading { align-items: center; }
.rc-checkout-progress { display: flex; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: checkout; }
.rc-checkout-progress li { position: relative; padding: .5rem 1.5rem .5rem 1rem; color: var(--rc-text-muted); font-size: .67rem; text-transform: uppercase; }
.rc-checkout-progress li::after { position: absolute; top: 50%; right: 0; width: .5rem; height: 1px; background: var(--rc-rule); content: ""; }
.rc-checkout-progress li:last-child::after { display: none; }
.rc-checkout-progress .is-current { color: var(--rc-text-primary); font-weight: 760; }
.rc-checkout-progress .is-complete { color: var(--rc-success); }
.rc-checkout__layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(340px, .72fr); gap: clamp(3rem, 7vw, 7rem); align-items: start; padding-top: clamp(2.5rem, 5vw, 5rem); }
.rc-checkout__details, .rc-checkout__customer { float: none !important; width: 100% !important; }
.rc-checkout-step { display: grid !important; grid-template-columns: 42px minmax(0, 1fr); gap: 1.2rem; float: none !important; width: 100% !important; padding: 0 0 2rem; margin-bottom: 2rem; border-bottom: 1px solid var(--rc-rule); }
.rc-checkout-step__number { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--rc-text-primary); border-radius: 50%; font-size: .63rem; font-weight: 760; }
.rc-checkout-step__content h3 { margin: .1rem 0 1.4rem; font-family: var(--rc-display-font); font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 550; }
.rc-checkout-step .form-row { margin-bottom: 1rem; }
.rc-checkout-step label { margin-bottom: .35rem; color: var(--rc-text-muted); font-size: .68rem; font-weight: 700; letter-spacing: .04em; }
.rc-checkout__summary { position: sticky; top: 120px; padding: 1.7rem; }
.rc-checkout__summary .shop_table { border: 0; background: transparent; }
.rc-checkout__summary .shop_table th, .rc-checkout__summary .shop_table td { padding: .85rem 0; border-color: var(--rc-rule); background: transparent; font-size: .75rem; }
.rc-checkout__summary #payment { border: 0; background: transparent; }
.rc-checkout__summary #payment ul.payment_methods { padding: 1.1rem 0; border-color: var(--rc-rule); }
.rc-checkout__summary #payment div.payment_box { margin: .8rem 0; padding: .85rem; background: #fffaf3; font-size: .72rem; }
.rc-checkout__summary #payment .place-order { padding: 1rem 0 0; }
.rc-checkout__summary #place_order { width: 100%; }

.rc-thankyou__inner { padding-top: clamp(3rem, 7vw, 7rem); }
.rc-order-confirmation { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: clamp(1.5rem, 3vw, 3rem); align-items: center; padding: clamp(2rem, 5vw, 4.5rem); background: #1b1814; color: #f9f3ea; }
.rc-order-confirmation__mark { display: grid; place-items: center; width: 64px; height: 64px; border: 1px solid #c9a56d; border-radius: 50%; color: #c9a56d; }
.rc-order-confirmation__mark svg { width: 28px; }
.rc-order-confirmation h1 { max-width: 14ch; margin: 0; color: inherit; font-family: var(--rc-display-font); font-size: clamp(2.6rem, 5vw, 5rem); font-weight: 500; letter-spacing: -.05em; line-height: .95; }
.rc-order-confirmation p:not(.rc-kicker) { max-width: 58ch; color: #bdb2a5; }
.rc-order-confirmation__actions { display: grid; gap: .6rem; min-width: 180px; }
.rc-order-confirmation__actions .button { border-color: #f9f3ea; background: #f9f3ea; color: #1b1814; text-align: center; }
.rc-order-confirmation__actions .rc-button-secondary { border-color: rgb(255 255 255 / 30%) !important; color: #fff !important; }
.rc-order-confirmation--failed { grid-template-columns: 1fr auto; background: #6d2f28; }
.rc-order-meta { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; border-bottom: 1px solid var(--rc-rule); }
.rc-order-meta > div { padding: 1.3rem; border-right: 1px solid var(--rc-rule); }
.rc-order-meta > div:last-child { border-right: 0; }
.rc-order-meta span, .rc-order-meta strong { display: block; }
.rc-order-meta span { margin-bottom: .35rem; color: var(--rc-text-muted); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.rc-order-progress { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 2rem 0 3rem; list-style: none; }
.rc-order-progress li { position: relative; color: var(--rc-text-muted); font-size: .67rem; text-align: center; }
.rc-order-progress li::before { position: absolute; top: 5px; right: 50%; left: -50%; height: 1px; background: var(--rc-rule); content: ""; }
.rc-order-progress li:first-child::before { display: none; }
.rc-order-progress li span { position: relative; z-index: 1; display: block; width: 11px; height: 11px; margin: 0 auto .55rem; border: 1px solid var(--rc-border-strong); border-radius: 50%; background: #f7f3ed; }
.rc-order-progress li.is-active { color: var(--rc-text-primary); font-weight: 720; }
.rc-order-progress li.is-active span { border-color: var(--rc-success); background: var(--rc-success); }
.rc-thankyou__details { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); gap: clamp(2.5rem, 6vw, 6rem); padding-top: 3rem; border-top: 1px solid var(--rc-rule); }
.rc-thankyou__details .woocommerce-order-details, .rc-thankyou__details .woocommerce-customer-details { padding: 0; border: 0; background: transparent; box-shadow: none; }
.rc-thankyou__details .woocommerce-order-details__title, .rc-thankyou__details .woocommerce-column__title { font-family: var(--rc-display-font); font-size: 1.7rem; font-weight: 550; }
.rc-thankyou__details .shop_table { border: 0; border-top: 1px solid var(--rc-text-primary); }
.rc-thankyou__details .shop_table th, .rc-thankyou__details .shop_table td { padding: 1rem .2rem; border-color: var(--rc-rule); background: transparent; }

.rc-account__shell { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: clamp(2.5rem, 6vw, 6rem); padding-top: clamp(2.5rem, 5vw, 5rem); }
.rc-account-nav { float: none !important; width: auto !important; }
.rc-account-nav ul { margin: 0; padding: 0; border-top: 1px solid var(--rc-text-primary); list-style: none; }
.rc-account-nav li { border-bottom: 1px solid var(--rc-rule); }
.rc-account-nav a { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 0; color: var(--rc-text-muted); font-size: .75rem; }
.rc-account-nav .is-active a { color: var(--rc-text-primary); font-weight: 750; }
.rc-account-nav a span { transition: transform 220ms var(--rc-ease-out); }
.rc-account-nav a:hover span { transform: translateX(4px); }
.rc-account__content { float: none !important; width: auto !important; min-width: 0; padding-top: 0; }
.rc-account__content > :first-child { margin-top: 0; }
.rc-account__content .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.rc-account__content .woocommerce-Address { float: none; width: auto; padding: 1.4rem; border-top: 2px solid var(--rc-text-primary); background: #eee6db; }
.rc-account__content .woocommerce-orders-table { border: 0; border-top: 1px solid var(--rc-text-primary); }
.rc-account__content .woocommerce-orders-table th, .rc-account__content .woocommerce-orders-table td { padding: 1rem .6rem; border-color: var(--rc-rule); background: transparent; }
.rc-account__content .rct-wishlist-page { margin: 0; }
.rc-account-dashboard > h2 { margin: 0; font-family: var(--rc-display-font); font-size: clamp(2.5rem, 5vw, 4.5rem); font-weight: 500; letter-spacing: -.045em; }
.rc-account-dashboard > p:not(.rc-kicker) { max-width: 50ch; color: var(--rc-text-muted); }
.rc-account-dashboard__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 2rem; background: var(--rc-rule); border: 1px solid var(--rc-rule); }
.rc-account-dashboard__grid a { display: grid; min-height: 170px; padding: 1.4rem; background: #f7f3ed; transition: background-color 180ms ease, color 180ms ease; }
.rc-account-dashboard__grid a:hover { background: #1b1814; color: #fff; }
.rc-account-dashboard__grid span { color: var(--rc-accent-premium); font-size: .65rem; }
.rc-account-dashboard__grid strong { align-self: end; font-family: var(--rc-display-font); font-size: 1.6rem; font-weight: 550; }
.rc-account-dashboard__grid small { color: var(--rc-text-muted); }

.rc-presentation-layer .rc-cart-drawer { width: min(440px, 96vw); padding: 1.5rem; background: #f7f3ed; }
.rc-mini-cart-lines { max-height: calc(100vh - 310px); overflow: auto; }
.rc-mini-cart-item { display: grid !important; grid-template-columns: 84px minmax(0, 1fr) 24px !important; gap: .9rem; padding: 1rem 0 !important; border-bottom: 1px solid var(--rc-rule); }
.rc-mini-cart-item__image img { width: 84px !important; height: 104px !important; margin: 0 !important; object-fit: cover; }
.rc-mini-cart-item__details { min-width: 0; }
.rc-mini-cart-item__name { display: block; margin-bottom: .3rem; font-family: var(--rc-display-font); font-size: 1.12rem; line-height: 1.15; }
.rc-mini-cart-item__details .variation { font-size: .62rem; }
.rc-mini-cart-item__details > .quantity { display: block; margin-top: .35rem; color: var(--rc-text-muted); font-size: .7rem; }
.rc-mini-cart-item__controls { display: inline-grid; grid-template-columns: 28px 28px 28px; align-items: center; margin-top: .6rem; border: 1px solid var(--rc-rule); text-align: center; }
.rc-mini-cart-item__controls button { min-height: 28px; padding: 0; border: 0; background: transparent; color: var(--rc-text-primary); box-shadow: none; }
.rc-mini-cart-item > .remove { position: static !important; display: grid; place-items: center; width: 24px; height: 24px; color: var(--rc-text-muted) !important; }
.rc-cart-drawer .woocommerce-mini-cart__total { display: flex; justify-content: space-between; padding-top: 1rem; border-top: 1px solid var(--rc-text-primary); }
.rc-cart-drawer .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1.15fr; gap: .6rem; }
.rc-cart-drawer .woocommerce-mini-cart__buttons .button { width: 100%; margin: 0; text-align: center; }
.rc-cart-drawer .rc-empty-state { margin: 1.5rem 0; padding-inline: 1rem; }

/* WooCommerce Blocks retain Store API behavior but inherit the same language. */
.rc-presentation-layer :where(.wc-block-cart, .wc-block-checkout) { gap: clamp(2rem, 5vw, 5rem); }
.rc-presentation-layer :where(.wc-block-cart-items, .wc-block-components-order-summary, .wc-block-components-totals-wrapper) { border-color: var(--rc-rule) !important; }
.rc-presentation-layer .wc-block-cart-items__row { padding-block: 1.25rem !important; }
.rc-presentation-layer .wc-block-cart-item__image img { aspect-ratio: 4 / 5; object-fit: cover; }
.rc-presentation-layer :where(.wc-block-cart__sidebar, .wc-block-checkout__sidebar) { padding: 1.4rem !important; border-top: 2px solid var(--rc-text-primary); background: #eee6db; }
.rc-presentation-layer .wc-block-components-checkout-step { padding-block: 1.5rem; border-bottom: 1px solid var(--rc-rule); }
.rc-presentation-layer .wc-block-components-checkout-step__heading { margin-bottom: 1rem; }
.rc-presentation-layer .wc-block-components-checkout-step__title { font-family: var(--rc-display-font); font-size: 1.7rem; font-weight: 550; }

@media (max-width: 900px) {
	.rc-cart-layout, .rc-checkout__layout, .rc-account__shell { grid-template-columns: 1fr; }
	.rc-cart-summary, .rc-checkout__summary { position: static; }
	.rc-account-nav ul { display: flex; gap: 1rem; overflow-x: auto; }
	.rc-account-nav li { flex: 0 0 auto; border-bottom: 0; }
	.rc-account-nav a { border-bottom: 1px solid var(--rc-rule); }
	.rc-account-nav a span { display: none; }
}
@media (max-width: 650px) {
	.rc-cart-item { grid-template-columns: 88px minmax(0, 1fr); gap: .9rem; }
	.rc-cart-item__media img { width: 88px; height: 112px; }
	.rc-cart-item__commercial { grid-column: 2; align-items: start; text-align: left; }
	.rc-cart-item__commercial .remove { margin-top: .3rem; }
	.rc-cart-lines__actions { align-items: stretch; flex-direction: column; }
	.rc-cart-lines__actions .coupon { max-width: none; }
	.rc-cart-lines__actions > .button { width: 100%; }
	.rc-checkout-progress { display: none; }
	.rc-checkout-step { grid-template-columns: 32px minmax(0, 1fr); gap: .75rem; }
	.rc-checkout-step__number { width: 30px; height: 30px; }
	.rc-order-confirmation { grid-template-columns: 48px minmax(0, 1fr); padding: 1.7rem; }
	.rc-order-confirmation__mark { width: 46px; height: 46px; }
	.rc-order-confirmation__actions { grid-column: 1 / -1; }
	.rc-order-meta { grid-template-columns: repeat(2, 1fr); }
	.rc-order-meta > div:nth-child(2) { border-right: 0; }
	.rc-order-progress { overflow-x: auto; }
	.rc-order-progress li { min-width: 110px; }
	.rc-thankyou__details { grid-template-columns: 1fr; }
	.rc-account__content .woocommerce-Addresses { grid-template-columns: 1fr; }
	.rc-account-dashboard__grid { grid-template-columns: 1fr; }
}
