/* shop.css — bag, checkout, account and WooCommerce notices, styled from each
   store's Elementor globals so one file serves every store. A store sets its
   corner radius with --rs-radius (site CSS); everything else is its kit. */

body {
	--rs-ink: var(--e-global-color-primary, #111);
	--rs-accent: var(--e-global-color-accent, var(--rs-ink));
	--rs-line: var(--e-global-color-rs_line, rgba(0, 0, 0, .14));
	--rs-ground: var(--e-global-color-rs_cream, #f6f6f6);
	--rs-muted: var(--e-global-color-rs_muted, #888);
	--rs-on-accent: var(--e-global-color-rs_white, #fff);
	--rs-btn-family: var(--e-global-typography-accent-font-family, inherit);
	--rs-btn-size: var(--e-global-typography-accent-font-size, 13px);
	--rs-btn-weight: var(--e-global-typography-accent-font-weight, 600);
	--rs-btn-ls: var(--e-global-typography-accent-letter-spacing, .04em);
	--rs-btn-tt: var(--e-global-typography-accent-text-transform, none);
	--rs-field-h: 48px;
	--rs-field-bg: #fff;
	--rs-ink-text: #fff;   /* text on an ink-filled (hovered) button */
}

/* --- Fields (checkout, account, cart coupon) ---------------------------------- */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single, .rs-cart .coupon input.input-text, .woocommerce-account input.input-text {	min-height: var(--rs-field-h); border: 1px solid var(--rs-line) !important; border-radius: var(--rs-field-radius, var(--rs-radius, 0)) !important;
	background: var(--rs-field-bg); padding: 12px 14px; font: inherit; font-size: 15px; color: var(--rs-ink); box-shadow: none !important;
	transition: border-color 150ms ease;
}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus, .woocommerce form .form-row select:focus { border-color: var(--rs-ink) !important; outline: none; }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height: calc(var(--rs-field-h) - 26px); padding: 0; }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: var(--rs-field-h); }
.woocommerce form .form-row label { font-size: 13px; margin-bottom: 6px; color: var(--rs-ink); }
.woocommerce form .form-row .required { color: var(--rs-accent); text-decoration: none; }

/* --- Buttons ------------------------------------------------------------------ */
.woocommerce a.button, .woocommerce button.button:not(.single_add_to_cart_button), .woocommerce input.button, .woocommerce #respond input#submit,
.rs-cart .checkout-button, .rs-checkout #place_order, .woocommerce-account .woocommerce-Button {
	background: var(--rs-accent) !important; color: var(--rs-on-accent) !important; border: 1px solid var(--rs-accent) !important; border-radius: var(--rs-btn-radius, var(--rs-radius, 0)) !important;
	font-family: var(--rs-btn-family); font-size: var(--rs-btn-size) !important; font-weight: var(--rs-btn-weight); letter-spacing: var(--rs-btn-ls); text-transform: var(--rs-btn-tt);
	padding: 15px 28px !important; line-height: 1.2; text-decoration: none !important; box-shadow: none;
	transition: background-color 200ms ease, color 200ms ease, transform 160ms var(--rs-ease-out, ease-out);
}
.woocommerce a.button:hover, .woocommerce button.button:not(.single_add_to_cart_button):hover { background: var(--rs-ink) !important; border-color: var(--rs-ink) !important; color: var(--rs-ink-text) !important; }
.woocommerce a.button:active, .woocommerce button.button:active { transform: scale(0.97); }
.woocommerce button.button:disabled, .woocommerce button.button.disabled { opacity: .45; }
.woocommerce a.button.wc-backward, .rs-cart .coupon .button, .woocommerce-account .woocommerce-orders-table .button {
	background: transparent !important; color: var(--rs-ink) !important; border-color: var(--rs-ink) !important;
}

/* --- Bag ------------------------------------------------------------------------- */
/* The quantity box: a field like the others (WooCommerce's own was a 28px box with a 3px corner). */
.rs-cart .quantity .qty { min-height: 44px !important; max-height: none !important; width: 72px; padding: 0 8px !important; border: 1px solid var(--rs-line) !important; border-radius: var(--rs-field-radius, var(--rs-radius, 0)) !important; background: var(--rs-field-bg); font: inherit; font-size: 15px; color: var(--rs-ink); text-align: center; }
.rs-cart .quantity .qty:focus { border-color: var(--rs-ink) !important; outline: none; }
.rs-cart table.shop_table { border: 0; border-collapse: collapse; }
.rs-cart table.shop_table th { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; font-weight: 600; color: var(--rs-muted); border: 0; border-bottom: 1px solid var(--rs-line); padding: 0 0 14px; background: none; }
.rs-cart table.shop_table td { border: 0; border-bottom: 1px solid var(--rs-line); padding: 22px 12px 22px 0; background: none !important; vertical-align: middle; }
.rs-cart .product-thumbnail img { width: 96px !important; height: auto; background: var(--rs-ground); }
.rs-cart .product-name a { color: var(--rs-ink); text-decoration: none; }
.rs-cart a.remove { color: var(--rs-muted) !important; font-size: 20px; width: 28px; height: 28px; line-height: 26px; border-radius: 50%; transition: background-color 150ms ease, color 150ms ease; }
.woocommerce a.remove:hover { background: var(--rs-ground) !important; color: var(--rs-ink) !important; }
.rs-cart .cart_totals, .rs-checkout .e-checkout__order_review, .rs-checkout #order_review { background: var(--rs-ground); padding: 28px !important; border-radius: var(--rs-radius, 0); }
.rs-cart .cart_totals h2, .rs-checkout #order_review_heading { font-size: 20px; margin: 0 0 18px; }
.rs-cart .cart_totals table, .rs-checkout .shop_table { border: 0 !important; }
.rs-cart .cart_totals th, .rs-cart .cart_totals td, .rs-checkout .shop_table th, .rs-checkout .shop_table td { border: 0 !important; border-bottom: 1px solid var(--rs-line) !important; padding: 12px 0 !important; background: none !important; }
.rs-cart .order-total th, .rs-cart .order-total td, .rs-checkout .order-total th, .rs-checkout .order-total td { font-size: 17px; border-bottom: 0 !important; }
.rs-cart .wc-proceed-to-checkout .checkout-button { display: block; width: 100%; text-align: center; margin-top: 8px; }
/* Empty bag: a quiet message and one way back. */
.rs-cart .cart-empty, .woocommerce-cart .cart-empty { font-size: 18px; border: 0 !important; background: none !important; padding: 24px 0 8px !important; margin: 0; color: var(--rs-ink); }
.rs-cart .cart-empty::before, .woocommerce-cart .cart-empty::before { display: none !important; }
.woocommerce .return-to-shop { margin-top: 20px; }

/* --- Checkout -------------------------------------------------------------------- */
.rs-checkout h3, .rs-checkout .e-checkout__column h3 { font-size: 18px; margin: 0 0 16px; }
.rs-checkout .woocommerce-checkout-payment, .rs-checkout #payment { background: none !important; border-radius: 0; }
.rs-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--rs-line); padding: 0 0 16px; }
.rs-checkout #payment div.payment_box { background: var(--rs-field-bg); border-radius: var(--rs-radius, 0); }
.rs-checkout #payment div.payment_box::before { display: none; }
.rs-checkout #place_order { width: 100%; margin-top: 12px; }

/* --- Account ------------------------------------------------------------------- */
.rs-account .woocommerce-form-login, .rs-account .woocommerce-form-register, .woocommerce-account .woocommerce-form-login {
	border: 1px solid var(--rs-line) !important; border-radius: var(--rs-radius, 0) !important; padding: 32px !important; max-width: 520px; margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 10px 0; color: var(--rs-ink); text-decoration: none; border-bottom: 1px solid var(--rs-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { font-weight: 600; }
.woocommerce form .show-password-input { top: 50%; transform: translateY(-50%); }

/* --- Notices --------------------------------------------------------------------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border: 1px solid var(--rs-line) !important; border-left: 3px solid var(--rs-accent) !important; background: var(--rs-field-bg) !important; color: var(--rs-ink) !important;
	border-radius: var(--rs-radius, 0); padding: 16px 20px 16px 48px !important; font-size: 14px;
}
.woocommerce-error { border-left-color: #b3261e !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--rs-accent) !important; top: 16px !important; }
.woocommerce-message .button { float: right; padding: 8px 16px !important; }

/* --- Search results (inline search on the 404) -------------------------------- */
.rs-search--inline .e-search-input { font-size: 18px !important; padding: 12px 40px 12px 36px !important; }

@media (max-width: 767px) {
	.rs-cart .product-thumbnail img { width: 72px !important; }
	.rs-cart .cart_totals, .rs-checkout #order_review { padding: 20px !important; }
	.woocommerce a.button, .woocommerce button.button { width: 100%; text-align: center; }
}

/* Elementor's cart and checkout widgets box every section; the stores don't. */
.rs-cart .e-cart-section, .rs-checkout .e-checkout__container .e-coupon-box, .rs-checkout .e-checkout__column-start > div, .rs-checkout .e-checkout-secondary-title { border: 0 !important; box-shadow: none !important; }
.rs-cart .e-cart-section { padding: 0 !important; }
.rs-cart .e-cart-totals.e-cart-section, .rs-cart .cart_totals { background: var(--rs-ground) !important; padding: 28px !important; }
.rs-cart .product-name a, .rs-checkout .product-name, .rs-cart td a:not(.remove) { color: var(--rs-ink) !important; text-decoration: none !important; }
.rs-cart .cart_totals h2, .rs-cart .e-cart-totals h2 { font-size: 20px !important; font-weight: 400; }
.rs-cart .coupon { display: flex; gap: 12px; }
.rs-cart .coupon input.input-text { flex: 1; }

/* Elementor's cart / checkout / account widgets are driven by CSS variables: set them from the store. */
.rs-cart, .rs-checkout, .rs-account {
	font-family: var(--e-global-typography-text-font-family, inherit) !important;
	--sections-border-type: none; --sections-background-color: transparent; --sections-padding: 0px;
	--forms-fields-background-color: var(--rs-field-bg); --forms-fields-border-color: var(--rs-line); --forms-fields-border-radius: var(--rs-field-radius, var(--rs-radius, 0px));
	--forms-fields-normal-color: var(--rs-ink); --forms-labels-color: var(--rs-ink); --forms-fields-focus-border-color: var(--rs-ink);
	--links-normal-color: var(--rs-accent); --links-hover-color: var(--rs-ink);
	--purchase-button-normal-background-color: var(--rs-accent); --purchase-button-hover-background-color: var(--rs-ink); --purchase-button-border-radius: var(--rs-btn-radius, var(--rs-radius, 0px));
	--checkout-button-normal-background-color: var(--rs-accent); --checkout-button-hover-background-color: var(--rs-ink); --checkout-button-border-radius: var(--rs-btn-radius, var(--rs-radius, 0px));
	--sections-title-color: var(--rs-ink); --order-summary-items-color: var(--rs-ink); --totals-color: var(--rs-ink);
	--order-summary-remove-icon-normal-color: var(--rs-ink); --order-summary-remove-icon-hover-color: var(--rs-ink);
}
.rs-cart *, .rs-checkout *, .rs-account * { font-family: inherit; }
.rs-checkout .e-checkout__column-start, .rs-checkout .e-checkout__order_review { gap: 32px; }
.rs-checkout .woocommerce-billing-fields h3, .rs-checkout #order_review_heading { font-family: var(--e-global-typography-secondary-font-family, inherit) !important; font-size: 20px !important; font-weight: 400; }
.rs-checkout .woocommerce-form-coupon-toggle .woocommerce-info { border: 0 !important; padding: 0 !important; background: none !important; }
.rs-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { display: none; }
.rs-cart :is(p, span, td, th, label, input, select, textarea, a, button, strong, bdi, div), .rs-checkout :is(p, span, td, th, label, input, select, textarea, a, button, strong, bdi, div), .rs-account :is(p, span, td, th, label, input, a, button, strong, div, li) { font-family: inherit !important; }
.rs-cart :is(h2, h3), .rs-checkout :is(h2, h3), .rs-account :is(h2, h3) { font-family: var(--e-global-typography-secondary-font-family, inherit) !important; font-weight: 400 !important; letter-spacing: 0; color: var(--rs-ink) !important; }
.rs-account h2 { font-size: 24px !important; margin: 0 0 20px; }
.rs-account :is(input.input-text, input[type=email], input[type=password], input[type=text]) { background: var(--rs-field-bg) !important; }
.rs-checkout :is(input.input-text, textarea, select), .rs-checkout .select2-selection, .rs-cart input.input-text { background-color: var(--rs-field-bg) !important; }

/* Empty bag: the store's own button, not the widget's outline. */
.rs-cart .return-to-shop .button, .rs-cart .return-to-shop a.button {
	background: var(--rs-accent) !important; color: var(--rs-on-accent) !important; border: 1px solid var(--rs-accent) !important; border-radius: var(--rs-btn-radius, var(--rs-radius, 0)) !important;
	font-family: var(--rs-btn-family) !important; font-weight: var(--rs-btn-weight) !important; letter-spacing: var(--rs-btn-ls); text-transform: var(--rs-btn-tt);
}
/* Small account copy follows the store's ink on light and dark grounds. */
.rs-account .woocommerce-form-login__rememberme, .rs-account .woocommerce-form-login__rememberme span { color: var(--rs-ink) !important; opacity: 1; }   /* .8 nested twice fell to 4.3:1 */
.rs-account .show-password-input, .rs-checkout .show-password-input { color: var(--rs-ink) !important; filter: none; opacity: .7; }

/* Totals and table heads in the store ink, not WooCommerce grey. */
.woocommerce table.shop_table :is(th, td), .woocommerce table.shop_table :is(th, td) .woocommerce-Price-amount { color: var(--rs-ink); }
.rs-cart table.shop_table :is(th, td), .rs-checkout table.shop_table :is(th, td), .rs-checkout .shop_table :is(th, td) .amount { color: var(--rs-ink) !important; }
html body .woocommerce a.remove:hover { color: var(--rs-ink) !important; background: var(--rs-ground) !important; }
/* An old price is struck through and slightly faded: the fade on the del alone, never compounded. */
.woocommerce .price del, .price del { opacity: .8 !important; }
.price del * { opacity: 1 !important; }
/* Notices: message and its button side by side, the button never outside the box. */
.woocommerce-message, .woocommerce-info { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; }
.woocommerce-message .button, .woocommerce-info .button { float: none !important; order: 2; margin: 0 0 0 auto !important; }
/* The tick in the row with the text, not pinned 16px from the top: beside a taller button it sat
   above the line it belongs to (15 Oct, 03). */
.woocommerce-message, .woocommerce-info { justify-content: flex-start; padding-left: 20px !important; }
.woocommerce-message::before, .woocommerce-info::before { position: static !important; top: auto !important; left: auto !important; order: -1; flex: none; margin: 0 !important; line-height: 1; }
.woocommerce table.shop_table th { white-space: normal; }
/* Country and state selects: the chosen value centred in its box. */
.woocommerce .select2-container .select2-selection--single { display: flex !important; align-items: center; padding: 0 14px !important; }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height: 1.4 !important; padding: 0 !important; }

/* Account tabs: Elementor makes every horizontal tab full width and paints them grey;
   the stores draw their own, so tabs size to their label on a clear ground. */
.rs-account.e-my-account-tabs-horizontal { --tab-width: auto; }
.rs-account.elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul li a,
.rs-account.elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul li.is-active a { background: transparent; }
.rs-account { --tabs-normal-color: var(--rs-ink); --tabs-hover-color: var(--rs-ink); --tabs-active-color: var(--rs-ink); --tabs-divider-weight: 0px; }
.rs-account { --general-text-color: var(--rs-ink); }
.rs-account .woocommerce-MyAccount-content, .rs-account .woocommerce-MyAccount-content p { color: var(--rs-ink) !important; }
.rs-account .woocommerce-MyAccount-content strong { color: inherit !important; font-weight: 600; }
.rs-account :is(.woocommerce-form-register p, .woocommerce-privacy-policy-text p) { color: var(--rs-ink); }

/* --- collection architectures (playbook 15) --------------------------------
   Switched on per store: r_archive toolbar / links_class / grid_class / sidebar. */
.rs-toolbar--count { border-bottom: 1px solid var(--e-global-color-rs_line, #ddd); }
.rs-count { font-size: 13px; letter-spacing: .04em; font-variant-numeric: tabular-nums; color: var(--e-global-color-rs_muted, #666); }
.rs-link-row ul { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0; padding: 0; list-style: none; }
.rs-link-row a { display: inline-block; padding: 8px 0; color: var(--rs-ink) !important; text-decoration: none; }
@media (max-width: 767px) { .rs-link-row ul { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; } .rs-link-row ul::-webkit-scrollbar { display: none; } .rs-link-row li { flex: none; } }

/* Typed row: categories as plain words, the current one marked like a highlighter. */
.rs-typed-row a { color: var(--e-global-color-rs_muted, #666) !important; transition: color 160ms ease; }
.rs-typed-row a[aria-current="page"] { color: var(--rs-ink) !important; background: linear-gradient(var(--e-global-color-secondary), var(--e-global-color-secondary)) 0 calc(50% + .32em) / 100% .5em no-repeat; }
@media (hover: hover) { .rs-typed-row a:hover { color: var(--rs-ink) !important; } }

/* Style tabs: box-label tabs on one rule. */
.rs-style-tabs ul { gap: 0; border-bottom: 1px solid var(--rs-ink); }
.rs-style-tabs a { padding: 12px 20px; border: 1px solid transparent; border-bottom: 0; margin-bottom: -1px; }
.rs-style-tabs a[aria-current="page"] { border-color: var(--rs-ink); background: var(--e-global-color-rs_white, #fff); }

/* Pill bar: rounded filter pills that stay under the header. */
.rs-pill-bar ul { gap: 8px; }
.rs-pill-bar a { padding: 10px 18px; border-radius: 999px; background: var(--e-global-color-rs_cream, #f1f1f1); transition: background-color 160ms ease, color 160ms ease; }
.rs-pill-bar a[aria-current="page"] { background: var(--rs-ink); color: var(--e-global-color-rs_white, #fff) !important; }
.rs-toolbar-row:has(.rs-pill-bar) { position: sticky; top: var(--rs-header-h, 72px); z-index: 20; background: var(--e-global-color-rs_white, #fff); }

/* View switch: Sheet / Large. */
.rs-view-toggle { display: inline-flex; gap: 14px; }
.rs-view-toggle button { padding: 8px 0; border: 0; background: none; color: var(--e-global-color-rs_muted, #666); font: inherit; font-size: 13px; cursor: pointer; }
.rs-view-toggle button[aria-pressed="true"] { color: var(--rs-ink); text-decoration: underline; text-underline-offset: 5px; }

/* Filters beside the grid. */
/* Elementor gives every container position: relative, so the class alone lost.
   Taller than the screen, it scrolls inside itself rather than running off. */
.e-con.rs-filter-side { position: sticky !important; top: var(--rs-side-top, 110px); align-self: flex-start; max-height: calc(100vh - var(--rs-side-top, 110px) - 24px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; padding-right: 8px; }
.rs-side-links ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.rs-side-links a { display: inline-block; padding: 3px 0; color: var(--rs-ink) !important; text-decoration: none; font-size: 14px; }
.rs-side-links a[aria-current="page"] { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
@media (hover: hover) { .rs-side-links a:hover { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; } }

/* Ruled cells: no gaps, 1px rules between the cards. */
.rs-grid-ruled .elementor-loop-container { gap: 0 !important; border-top: 1px solid var(--e-global-color-rs_line, #ddd); border-left: 1px solid var(--e-global-color-rs_line, #ddd); }
.rs-grid-ruled .e-loop-item { border-right: 1px solid var(--e-global-color-rs_line, #ddd); border-bottom: 1px solid var(--e-global-color-rs_line, #ddd); }

/* Sheet / Large: the store sets --rs-sheet-cols and --rs-large-cols. */
body[data-rs-view="sheet"] .rs-grid-view .elementor-loop-container { grid-template-columns: repeat(var(--rs-sheet-cols, 5), minmax(0, 1fr)) !important; }
body[data-rs-view="large"] .rs-grid-view .elementor-loop-container { grid-template-columns: repeat(var(--rs-large-cols, 2), minmax(0, 1fr)) !important; }
@media (max-width: 1024px) { body[data-rs-view="sheet"] .rs-grid-view .elementor-loop-container { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 767px) {
  body[data-rs-view="sheet"] .rs-grid-view .elementor-loop-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body[data-rs-view="large"] .rs-grid-view .elementor-loop-container { grid-template-columns: 1fr !important; }
}

/* Size groups as disclosures (sidebar stores): one ruled line per group, the open one shows its chips. */
.rs-size-filter--fold .rs-size-filter__set { border-bottom: 1px solid var(--e-global-color-rs_line, #ddd); }
.rs-size-filter--fold .rs-size-filter__set:first-of-type { border-top: 1px solid var(--e-global-color-rs_line, #ddd); }
.rs-size-filter--fold summary.rs-size-filter__group { display: flex; align-items: center; gap: 8px; margin: 0; padding: 10px 0; min-height: 44px; box-sizing: border-box; cursor: pointer; list-style: none; opacity: 1; color: var(--rs-ink); font-size: 14px; letter-spacing: 0; text-transform: none; }
.rs-size-filter--fold summary.rs-size-filter__group::-webkit-details-marker { display: none; }
.rs-size-filter--fold summary.rs-size-filter__group::after { content: ""; width: 7px; height: 7px; margin-left: auto; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform 200ms cubic-bezier(0.23, 1, 0.32, 1); }
.rs-size-filter--fold .rs-size-filter__set[open] > summary::after { transform: translateY(2px) rotate(-135deg); }
.rs-size-filter--fold .rs-size-filter__set > .rs-chips { padding: 2px 0 16px; }
.rs-size-filter__n { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--e-global-color-secondary); color: var(--e-global-color-rs_white, #fff); font-size: 11px; letter-spacing: 0; }
@media (prefers-reduced-motion: reduce) { .rs-size-filter--fold summary.rs-size-filter__group::after { transition: none; } }

/* Grid items may shrink: a row card's one-line name otherwise widened the page on phones. */
.elementor-loop-container > .e-loop-item { min-width: 0; }
/* Breadcrumb links reach the 24px tap minimum. */
.woocommerce-breadcrumb a { display: inline-block; padding: 4px 0; }
/* Elementor's checkout greys (#69727d) fall under 4.5:1 on warm paper; use the store's muted token. */
.e-woocommerce-coupon-nudge, .e-checkout-secondary-title, .woocommerce-privacy-policy-text, .woocommerce-privacy-policy-text p { color: var(--e-global-color-rs_muted) !important; }

/* The view switch is two words, not buttons: the kit's button fill (black, text black) hid "Sheet". */
html body .rs-view-toggle button, html body .rs-view-toggle button:hover, html body .rs-view-toggle button:focus { min-height: 32px; padding: 6px 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; color: var(--e-global-color-rs_muted, #666) !important; font: inherit; font-size: 14px !important; letter-spacing: inherit; text-transform: none !important; }
html body .rs-view-toggle button[aria-pressed="true"] { color: var(--rs-ink) !important; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
@media (hover: hover) { html body .rs-view-toggle button:not([aria-pressed="true"]):hover { color: var(--rs-ink) !important; } }
/* The link row takes the free width in the toolbar instead of wrapping into a narrow column. */
.rs-toolbar-row :is(.elementor-widget-shortcode, .elementor-widget):has(> .elementor-widget-container .rs-link-row, .rs-link-row) { flex: 1 1 auto; min-width: 0; }
/* The tools (view switch, sort) take only their own width, pinned right; Elementor's --width:100% on the
   nested container otherwise ate the row and squeezed the links into two lines. */
@media (min-width: 768px) { .rs-toolbar-row > .e-con { flex: 0 0 auto !important; width: auto !important; --width: auto; margin-left: auto; } }
/* Phones: a sideways link row fades at the right edge while more links sit off-screen (chrome.js sets is-more). */
@media (max-width: 767px) { .rs-link-row ul.is-more { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 48px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 48px), transparent); } }
@media (max-width: 767px) {
	.rs-link-row ul.is-past { -webkit-mask-image: linear-gradient(to right, transparent, #000 32px); mask-image: linear-gradient(to right, transparent, #000 32px); }
	.rs-link-row ul.is-past.is-more { -webkit-mask-image: linear-gradient(to right, transparent, #000 32px, #000 calc(100% - 48px), transparent); mask-image: linear-gradient(to right, transparent, #000 32px, #000 calc(100% - 48px), transparent); }
}
/* A membership line in the bag: the programme's icon on a tile, the size of a product photo. */
.rs-mship-thumb { display: grid; place-items: center; width: 100%; aspect-ratio: 1; min-width: 56px; background-color: var(--e-global-color-rs_cream, #f3f1ec); color: var(--e-global-color-primary); }
.rs-mship-thumb { background-repeat: no-repeat; background-position: center; background-size: 40%; }
/* The colour under a bag / cart / checkout line's name (archive.php). */
.rs-line-colour { display: inline-block; margin-top: 2px; font-size: .875em; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--e-global-color-rs_muted, #666); }
/* Cart page: the name link is a 24px+ tap target on phones (it was 18px tall). */
.woocommerce-cart-form td.product-name > a { display: inline-block; padding: 4px 0; }
/* More of Elementor's cart/checkout grey (#69727d): shipping choices and the checkbox labels are
   content, in the ink colour; the shipping note in the muted token. Radios and the calculator
   link are 24px+ to tap. */
.woocommerce-shipping-methods label, .woocommerce-account-fields .create-account label span, .woocommerce-shipping-fields h3 label span, .woocommerce-form__label-for-checkbox span { color: var(--e-global-color-primary) !important; }
.woocommerce-shipping-destination, .woocommerce-shipping-estimate-html, .e-checkout-message { color: var(--e-global-color-rs_muted) !important; }
.woocommerce-shipping-methods input[type="radio"] { width: 24px; height: 24px; vertical-align: middle; accent-color: var(--e-global-color-primary); }
.woocommerce-shipping-calculator .shipping-calculator-button { display: inline-block; padding: 4px 0; }
/* Size and other choices under a bag line's name ("Size: 4"). */
.elementor-menu-cart__product-name dl.variation, .woocommerce-cart-form dl.variation, .woocommerce-checkout-review-order-table dl.variation { display: flex; flex-wrap: wrap; gap: 0 4px; margin: 2px 0 0; font-size: 13px; color: var(--e-global-color-rs_muted, #666); }
.elementor-menu-cart__product-name dl.variation :is(dt, dd), .woocommerce-cart-form dl.variation :is(dt, dd), .woocommerce-checkout-review-order-table dl.variation :is(dt, dd) { margin: 0 !important; padding: 0; font-weight: 400; }
.elementor-menu-cart__product-name dl.variation dd p, .woocommerce-cart-form dl.variation dd p, .woocommerce-checkout-review-order-table dl.variation dd p { display: inline; margin: 0; }
/* Checkout's order table: Elementor's widget sets its own ink and size on dt/dd, so the
   choices line is pinned to the quiet style here; pairs read "Size: 4 · Qty: 1". */
#order_review .woocommerce-checkout-review-order-table dl.variation, #order_review .woocommerce-checkout-review-order-table dl.variation :is(dt, dd) { font-size: 13px !important; color: var(--e-global-color-rs_muted, #666) !important; }
:is(.elementor-menu-cart__product-name, .woocommerce-cart-form, .woocommerce-checkout-review-order-table) dl.variation dd:not(:last-child)::after { content: "·"; }
/* Cart page: Elementor's cart widget inks every cell; the colour and choices stay quiet. */
.woocommerce-cart-form td.product-name .rs-line-colour, .woocommerce-cart-form dl.variation :is(dt, dd) { color: var(--e-global-color-rs_muted, #666) !important; }

/* Stacked toolbar row: the count takes the free width and the controls sit right. As a nested
   container the controls were 100% wide by default, which squeezed the count onto two lines
   ("217 / items", 15 Oct, 11). Ember Works carried these in its own sheet; now every store has them. */
.rs-toolbar--stack .rs-toolbar-row { width: 100%; }
.rs-toolbar--stack .rs-toolbar-row > .elementor-widget-shortcode:first-child { flex: 1 1 auto; }
.rs-toolbar--stack .rs-toolbar-controls { --width: auto; width: auto; flex: 0 0 auto; margin-left: auto !important; }
.rs-count { white-space: nowrap; }
/* A sale price is not an insertion: no browser underline under it on any store. */
.price ins, ins .woocommerce-Price-amount { text-decoration: none; }
