/* ==========================================================================
   Riverton Thrift — shop layer (WooCommerce on Astra)
   Loads after Astra + WooCommerce CSS and the brand design system
   (riverton.css). Uses the same tokens: --rt-paper, --rt-red, --rt-ink …
   ========================================================================== */

/* ---------- Page canvas ---------- */
body.rt-inner { background-color: var(--rt-paper) !important; color: var(--rt-text); }
.rt-inner #page,
.rt-inner .site-content,
.rt-inner .ast-plain-container,
.rt-inner .site-main,
.rt-inner .ast-article-single,
.rt-inner .ast-article-post,
.rt-inner article.page { background: transparent !important; }

body.rt-inner .site-content > .ast-container {
	max-width: calc(var(--rt-wrap) + var(--rt-gutter) * 2);
	padding-inline: var(--rt-gutter);
	display: block;
}
body.rt-inner #primary {
	width: 100%;
	margin: clamp(28px, 4vw, 56px) 0 clamp(72px, 9vw, 128px) !important;
	padding: 0 !important;
}
body.rt-inner .ast-article-single,
body.rt-inner article.page { padding: 0 !important; margin: 0 !important; border: 0; box-shadow: none; }

.rt-inner .site-content { font-family: var(--rt-sans); font-size: inherit; line-height: 1.6; }
.rt-inner .site-content :is(h1, h2, h3, h4) {
	font-family: var(--rt-serif); color: var(--rt-ink); font-weight: 600;
	letter-spacing: -.012em; line-height: 1.08;
	font-variation-settings: "SOFT" 60;
}
.rt-inner .site-content a { color: var(--rt-red-dk); text-underline-offset: .2em; }
.rt-inner .site-content a:hover { color: var(--rt-red); }
.rt-inner .site-content :is(p, li, td, th, label, dd, dt, address) { font-family: var(--rt-sans); }

/* Page titles on Cart / Checkout / My account / other pages */
.rt-inner .entry-header { margin: 0 0 clamp(28px, 4vw, 48px); padding-bottom: 22px; position: relative; text-align: left; }
.rt-inner .entry-header::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px;
	background: radial-gradient(circle, rgba(27,42,65,.32) 2px, transparent 2.5px) 0 0 / 14px 6px repeat-x;
}
.rt-inner .entry-header .entry-title {
	font-size: clamp(2.6rem, 1.5rem + 4.2vw, 5.2rem) !important;
	letter-spacing: -.035em; line-height: .95;
	font-variation-settings: "SOFT" 50, "opsz" 144;
}
.rt-inner .entry-header .entry-title::after { content: "."; color: var(--rt-red); }

/* ---------- Demo inventory band ---------- */
.rt-demo { background: var(--rt-manila); border-bottom: 1.5px dashed rgba(27,42,65,.35); }
.rt-demo__inner { display: flex; align-items: center; gap: 14px; padding-block: 12px; }
.rt-demo p { margin: 0; font-size: .9rem; line-height: 1.45; color: var(--rt-ink); }
.rt-demo__tag {
	flex: 0 0 auto; position: relative;
	background: var(--rt-red); color: var(--rt-paper-hi);
	font: 700 .68rem/1 var(--rt-sans); letter-spacing: .2em; text-transform: uppercase;
	padding: .55em .8em .55em 1.5em;
	clip-path: polygon(.7em 0, 100% 0, 100% 100%, .7em 100%, 0 50%);
	transform: rotate(-4deg);
}
.rt-demo__tag::before { content: ""; position: absolute; left: .6em; top: 50%; width: .38em; height: .38em; margin-top: -.19em; border-radius: 50%; background: var(--rt-manila); }

/* ---------- Header additions: account + cart ---------- */
/* (lives here and in riverton.css so the front page gets it too) */

/* ---------- Breadcrumb ---------- */
.rt-inner .woocommerce-breadcrumb {
	margin: 0 0 22px !important; padding: 0;
	font: 700 .74rem/1.6 var(--rt-sans) !important; letter-spacing: .16em; text-transform: uppercase;
	color: var(--rt-muted) !important;
}
.rt-inner .woocommerce-breadcrumb a { color: var(--rt-ink) !important; text-decoration: none; }
.rt-inner .woocommerce-breadcrumb a:hover { color: var(--rt-red-dk) !important; text-decoration: underline; }
.rt-crumb-sep {
	display: inline-block; width: 7px; height: 7px; margin: 0 .8em; vertical-align: .12em;
	border: 1.5px solid var(--rt-red); border-radius: 50%;
}

/* ---------- Archive header + departments ---------- */
.rt-inner .woocommerce-products-header { display: none; }
.rt-archive-head { margin: 0 0 clamp(28px, 4vw, 44px); max-width: 980px; }
.rt-archive-head__title {
	font-size: clamp(2.8rem, 1.4rem + 5vw, 6rem) !important;
	letter-spacing: -.04em !important; line-height: .92 !important;
	margin: 0 0 .3em !important;
	font-variation-settings: "SOFT" 50, "opsz" 144 !important;
}
.rt-archive-head__title em { color: var(--rt-red); font-weight: 500; font-variation-settings: "SOFT" 100, "WONK" 1; }
.rt-archive-head__lede { max-width: 36em; font-size: clamp(1.05rem, 1rem + .3vw, 1.2rem); }
.rt-archive-head__lede p { margin: 0 0 1em; }

.rt-depts { margin-top: 22px; }
.rt-depts--sub { margin-top: 12px; }
.rt-depts__list { display: flex; flex-wrap: wrap; gap: 10px 12px; list-style: none; margin: 0 !important; padding: 0 !important; }
.rt-depts__list li { margin: 0; }
.rt-inner .site-content a.rt-dept {
	position: relative; display: inline-flex; align-items: center; gap: .55em;
	min-height: 44px; padding: .5em 1em .5em 1.7em;
	background: var(--rt-manila); color: var(--rt-ink);
	font: 600 .92rem/1.2 var(--rt-sans); text-decoration: none;
	border: 0;
	clip-path: polygon(.8em 0, 100% 0, 100% 100%, .8em 100%, 0 50%);
	transition: background-color .2s, color .2s;
}
.rt-inner .site-content a.rt-dept::before { content: ""; position: absolute; left: .7em; top: 50%; width: .42em; height: .42em; margin-top: -.21em; border-radius: 50%; border: 1.5px solid currentColor; }
.rt-inner .site-content a.rt-dept:hover { background: #e8d3a6; color: var(--rt-ink); }
.rt-inner .site-content a.rt-dept.is-current { background: var(--rt-red); color: var(--rt-paper-hi); }
.rt-inner .site-content a.rt-dept:focus-visible { clip-path: none; }
.rt-dept__count { font-size: .76rem; font-weight: 700; opacity: .75; }
.rt-inner .site-content a.rt-dept--sub { min-height: 40px; font-size: .86rem; background: var(--rt-paper-2); }

/* ---------- Result count + sorting ---------- */
.rt-inner .woocommerce-result-count {
	margin: 10px 0 24px !important; font-size: .86rem; color: var(--rt-muted);
	font-weight: 600; letter-spacing: .04em;
}
.rt-inner .woocommerce-ordering { margin: 0 0 24px !important; }
.rt-inner .woocommerce-ordering select,
.rt-inner .site-content select {
	appearance: none; -webkit-appearance: none;
	min-height: 46px; padding: .6em 2.6em .6em .9em;
	background: var(--rt-paper-hi) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231b2a41' stroke-width='2'/%3E%3C/svg%3E") no-repeat right .9em center;
	border: 1.5px solid #6b6a64; border-radius: 2px;
	color: var(--rt-text); font: 600 .92rem var(--rt-sans);
	box-shadow: none;
}

/* ---------- Product grid ---------- */
body.rt-inner ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(32px, 3.4vw, 52px) clamp(18px, 2.2vw, 30px);
	margin: 0 0 clamp(40px, 5vw, 64px) !important; padding: 0 !important;
	clear: both; list-style: none;
}
body.rt-inner ul.products::before,
body.rt-inner ul.products::after { display: none !important; content: none !important; }
body.rt-inner ul.products li.product {
	width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important;
	position: relative; display: flex; flex-direction: column;
	text-align: left; background: none; border: 0; box-shadow: none;
}

.rt-inner ul.products li.product .astra-shop-thumbnail-wrap {
	position: relative;
	background: var(--rt-paper-hi);
	padding: 10px;
	border: 1px solid rgba(27,42,65,.16);
	box-shadow: 0 1px 0 rgba(27,42,65,.06), 0 12px 22px -18px rgba(27,42,65,.5);
	transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s;
}
.rt-inner ul.products li.product .astra-shop-thumbnail-wrap img {
	display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover;
	margin: 0 !important; background: #fff; border-radius: 0 !important;
}
.rt-inner ul.products li.product:hover .astra-shop-thumbnail-wrap,
.rt-inner ul.products li.product:focus-within .astra-shop-thumbnail-wrap {
	transform: translateY(-4px) rotate(-.7deg);
	box-shadow: 0 1px 0 rgba(27,42,65,.06), 0 22px 30px -20px rgba(27,42,65,.6);
}
.rt-inner ul.products li.product:nth-child(even):hover .astra-shop-thumbnail-wrap { transform: translateY(-4px) rotate(.7deg); }

/* Astra's on-image icon duplicates the Add to cart button: hide it (also
   removes the duplicate tab stop). */
.rt-inner .ast-on-card-button.ast-select-options-trigger { display: none !important; }

/* Sale stamp (Astra's badge + Woo's default) */
.rt-inner :is(.ast-onsale-card, span.onsale) {
	position: absolute !important; z-index: 2;
	top: 14px !important; left: -8px !important; right: auto !important;
	min-width: 0 !important; min-height: 0 !important; width: auto !important; height: auto !important;
	margin: 0 !important; padding: .42em .9em .42em .8em !important;
	border-radius: 0 !important;
	background: var(--rt-red) !important; color: var(--rt-paper-hi) !important;
	font: italic 600 1rem/1 var(--rt-serif) !important; letter-spacing: 0;
	clip-path: polygon(0 0, 100% 0, calc(100% - .6em) 50%, 100% 100%, 0 100%);
	padding-right: 1.3em !important;
	transform: rotate(-5deg);
	box-shadow: none !important;
}
/* Status flags (real stock data only) */
.rt-flag {
	position: absolute; z-index: 2; top: 14px; right: -6px;
	padding: .45em .8em; transform: rotate(4deg);
	font: 700 .7rem/1 var(--rt-sans); letter-spacing: .16em; text-transform: uppercase;
	box-shadow: 0 4px 10px -6px rgba(0,0,0,.5);
}
.rt-flag--sold { background: var(--rt-ink); color: var(--rt-paper-hi); }
.rt-flag--last { background: var(--rt-manila); color: var(--rt-ink); border: 1.5px dashed var(--rt-ink); }
.rt-inner li.product.outofstock .astra-shop-thumbnail-wrap img { filter: grayscale(.6); opacity: .72; }
.rt-inner .ast-shop-product-out-of-stock { display: none !important; } /* replaced by .rt-flag--sold */

.rt-inner ul.products li.product .astra-shop-summary-wrap {
	flex: 1; display: flex; flex-direction: column; align-items: flex-start;
	padding: 16px 2px 0 !important;
}
.rt-inner .ast-woo-product-category {
	display: block; margin: 0 0 6px !important;
	font: 700 .7rem/1.3 var(--rt-sans) !important; letter-spacing: .18em; text-transform: uppercase;
	color: var(--rt-red-dk) !important; opacity: 1 !important;
}
.rt-inner ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--rt-serif) !important; font-weight: 600 !important;
	font-size: clamp(1.12rem, 1rem + .4vw, 1.32rem) !important; line-height: 1.15 !important;
	color: var(--rt-ink) !important; margin: 0 0 12px !important; padding: 0 !important;
}
.rt-inner ul.products li.product a.ast-loop-product__link { text-decoration: none; }
.rt-inner ul.products li.product a.ast-loop-product__link:hover .woocommerce-loop-product__title {
	text-decoration: underline; text-decoration-color: var(--rt-red); text-decoration-thickness: 2px; text-underline-offset: .18em;
}

/* Price — the thrift tag */
.rt-inner :is(ul.products li.product .price, .woocommerce-grouped-product-list .price) {
	position: relative;
	display: inline-flex !important; flex-wrap: wrap; align-items: baseline; gap: .1em .45em;
	margin: 0 0 16px !important;
	padding: .38em .85em .38em 1.55em !important;
	background: var(--rt-manila);
	color: var(--rt-ink) !important;
	font: 700 1rem/1.25 var(--rt-sans) !important;
	font-variant-numeric: tabular-nums;
	clip-path: polygon(.75em 0, 100% 0, 100% 100%, .75em 100%, 0 50%);
}
.rt-inner ul.products li.product .price::before {
	content: ""; position: absolute; left: .62em; top: 50%; width: .4em; height: .4em; margin-top: -.2em;
	border-radius: 50%; background: var(--rt-paper); box-shadow: inset 0 1px 1px rgba(0,0,0,.3);
}
.rt-inner .price del { color: var(--rt-muted) !important; opacity: 1 !important; font-weight: 400; font-size: .88em; }
.rt-inner .price ins { text-decoration: none !important; color: var(--rt-red-dk) !important; font-weight: 700; background: none; }
.rt-inner .price .amount { color: inherit; }

/* Loop condition line (only if data exists) */
.rt-condition { margin: -6px 0 14px !important; font-size: .84rem; color: var(--rt-muted); }
.rt-condition span { font-weight: 700; color: var(--rt-ink); text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; margin-right: .4em; }

/* Loop buttons */
body.rt-inner ul.products li.product .button {
	margin-top: auto !important;
	display: inline-flex; align-items: center; justify-content: center; gap: .4em;
	min-height: 44px; padding: .6em 1.1em !important;
	background: transparent !important; color: var(--rt-ink) !important;
	border: 1.5px solid var(--rt-ink) !important; border-radius: 0 !important;
	font: 700 .84rem/1.1 var(--rt-sans) !important; letter-spacing: .06em; text-transform: uppercase;
	transition: background-color .2s, color .2s;
}
body.rt-inner ul.products li.product .button:hover { background: var(--rt-ink) !important; color: var(--rt-paper-hi) !important; }
body.rt-inner ul.products li.product .button.loading { opacity: .6; }
body.rt-inner ul.products li.product .button.added { background: var(--rt-ink) !important; color: var(--rt-paper-hi) !important; }
.rt-inner ul.products li.product a.added_to_cart {
	display: inline-block !important;
	margin-top: 10px; padding: 0 !important; font-weight: 700; font-size: .9rem;
	color: var(--rt-red-dk) !important; text-decoration: underline !important; text-decoration-style: wavy !important; text-underline-offset: .3em;
	background: none !important;
}

/* ---------- Pagination ---------- */
.rt-inner .woocommerce-pagination { margin: 8px 0 0; text-align: center; }
.rt-inner .woocommerce-pagination ul.page-numbers {
	display: inline-flex !important; flex-wrap: wrap; justify-content: center; gap: 10px;
	border: 0 !important; margin: 0 !important; padding: 0 !important; list-style: none;
}
.rt-inner .woocommerce-pagination ul.page-numbers li { border: 0 !important; float: none; margin: 0; overflow: visible; }
.rt-inner .woocommerce-pagination .page-numbers :is(a, span),
.rt-inner .woocommerce-pagination ul.page-numbers li > :is(a, span) {
	display: grid !important; place-items: center;
	min-width: 46px; height: 46px; padding: 0 .8em !important;
	background: var(--rt-paper-hi) !important; color: var(--rt-ink) !important;
	border: 1.5px solid var(--rt-ink) !important; border-radius: 0 !important;
	font: 700 1rem/1 var(--rt-sans) !important; text-decoration: none;
}
.rt-inner .woocommerce-pagination ul.page-numbers li > a:hover { background: var(--rt-ink) !important; color: var(--rt-paper-hi) !important; }
.rt-inner .woocommerce-pagination ul.page-numbers li > span.current { background: var(--rt-red) !important; border-color: var(--rt-red) !important; color: var(--rt-paper-hi) !important; }

/* ==========================================================================
   Notices
   ========================================================================== */
.rt-inner :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews) {
	position: relative;
	display: block;
	margin: 0 0 24px !important;
	padding: 16px 20px 16px 58px !important;
	background: var(--rt-paper-hi) !important;
	color: var(--rt-ink) !important;
	border: 1px solid rgba(27,42,65,.18) !important;
	border-left: 6px solid var(--rt-denim-dk) !important;
	border-radius: 0 !important;
	box-shadow: 0 10px 20px -18px rgba(27,42,65,.6);
	font: 400 .98rem/1.5 var(--rt-sans) !important;
	list-style: none;
}
.rt-inner .woocommerce-message { border-left-color: var(--rt-denim) !important; }
.rt-inner .woocommerce-error { border-left-color: var(--rt-red) !important; background: #fdf3ef !important; }
.rt-inner :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews)::before {
	position: absolute !important; left: 18px !important; top: 15px !important;
	display: grid !important; place-items: center;
	width: 26px; height: 26px; border-radius: 50%;
	font: 700 .9rem/1 var(--rt-sans) !important;
	background: var(--rt-denim-dk); color: var(--rt-paper-hi) !important;
	content: "i" !important;
}
.rt-inner .woocommerce-message::before { content: "✓" !important; background: var(--rt-denim); }
.rt-inner .woocommerce-error::before { content: "!" !important; background: var(--rt-red); }
.rt-inner .woocommerce-error li { margin: 0 0 .3em; padding: 0; }
.rt-inner .woocommerce-error li:last-child { margin-bottom: 0; }
.rt-inner :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a:not(.button) { color: var(--rt-ink) !important; font-weight: 700; text-decoration: underline; }
.rt-inner :is(.woocommerce-message, .woocommerce-info) .button {
	float: right; margin: -4px 0 -4px 16px !important;
	padding: .55em 1em !important; font-size: .82rem !important; min-height: 0;
}
.rt-inner .woocommerce-notices-wrapper:empty { display: none; }
.rt-inner :is(.woocommerce-message, .woocommerce-info, .woocommerce-error):focus-visible { outline: 2px dashed var(--rt-denim-dk); outline-offset: 4px; box-shadow: none; }

/* ==========================================================================
   Buttons
   ========================================================================== */
body.rt-inner .site-content :is(.button, button.button, input.button, a.button, .form-submit input[type="submit"], button[type="submit"]):not(.rt-dept) {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	min-height: 48px; padding: .85em 1.4em;
	background: var(--rt-ink); color: var(--rt-paper-hi);
	border: 0; border-radius: 0;
	font: 700 .92rem/1.2 var(--rt-sans); letter-spacing: .04em; text-transform: none; text-decoration: none;
	box-shadow: none; cursor: pointer;
	transition: background-color .2s ease, transform .15s ease;
}
body.rt-inner .site-content :is(.button, button.button, input.button, a.button, .form-submit input[type="submit"], button[type="submit"]):hover { background: var(--rt-red-dk); color: var(--rt-paper-hi); }
body.rt-inner .site-content :is(.button, button.button):active { transform: translateY(1px); }
body.rt-inner .site-content :is(.button, button.button):is(:disabled, .disabled, [disabled]) { opacity: .45 !important; cursor: not-allowed; }

/* Primary actions — the red price-tag button */
body.rt-inner .site-content :is(.button.alt, .single_add_to_cart_button, a.checkout-button, #place_order, .woocommerce-form-login__submit, .return-to-shop .button, .woocommerce-form-register__submit) {
	position: relative;
	min-height: 54px;
	padding: .9em 1.6em .9em 2.3em;
	background: var(--rt-red); color: var(--rt-paper-hi);
	font-size: 1.02rem;
	clip-path: polygon(1em 0, 100% 0, 100% 100%, 1em 100%, 0 50%);
}
body.rt-inner .site-content :is(.button.alt, .single_add_to_cart_button, a.checkout-button, #place_order, .woocommerce-form-login__submit, .return-to-shop .button, .woocommerce-form-register__submit)::before {
	content: ""; position: absolute; left: 1.05em; top: 50%;
	width: .44em; height: .44em; margin-top: -.22em; border-radius: 50%;
	background: var(--rt-paper); box-shadow: inset 0 1px 1px rgba(0,0,0,.35);
}
body.rt-inner .site-content :is(.button.alt, .single_add_to_cart_button, a.checkout-button, #place_order, .woocommerce-form-login__submit, .return-to-shop .button, .woocommerce-form-register__submit):hover { background: var(--rt-red-dk); }
body.rt-inner .site-content :is(.button, button.button, a.button):focus-visible { clip-path: none; }

/* ==========================================================================
   Forms
   ========================================================================== */
body.rt-inner .site-content :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], input[type="url"], input.input-text, textarea, select) {
	width: 100%;
	min-height: 50px;
	padding: .75em .9em;
	background: #fffdf8;
	border: 1.5px solid #6b6a64;
	border-radius: 2px;
	box-shadow: none;
	color: var(--rt-text);
	font: 400 1rem/1.4 var(--rt-sans);
	transition: border-color .15s, background-color .15s;
}
body.rt-inner .site-content textarea { min-height: 120px; }
body.rt-inner .site-content :is(input, textarea, select):focus { border-color: var(--rt-ink); background: #fff; }
body.rt-inner .site-content :is(input, textarea, select):focus-visible { outline: 3px solid var(--rt-red); outline-offset: 1px; box-shadow: none; }
body.rt-inner .site-content input[type="checkbox"],
body.rt-inner .site-content input[type="radio"] { width: 20px; height: 20px; min-height: 0; accent-color: var(--rt-red); vertical-align: -4px; margin-right: .45em; }

.rt-inner .woocommerce form .form-row { margin: 0 0 18px; padding: 0; }
.rt-inner .woocommerce form .form-row label,
.rt-inner .woocommerce-form label {
	display: block; margin: 0 0 6px; line-height: 1.35;
	font: 600 .9rem/1.35 var(--rt-sans); color: var(--rt-ink);
}
.rt-inner .woocommerce form .form-row label.checkbox,
.rt-inner .woocommerce form .form-row label.woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; font-weight: 600; }
.rt-inner .woocommerce form .form-row .required { color: var(--rt-red-dk) !important; text-decoration: none; border: 0; font-weight: 700; }
.rt-inner .woocommerce form .form-row .optional { color: var(--rt-muted); font-weight: 400; }
.rt-inner .woocommerce form .form-row.woocommerce-invalid label { color: var(--rt-red-dk); }
.rt-inner .woocommerce form .form-row.woocommerce-invalid :is(input.input-text, select, textarea, .select2-selection) {
	border-color: var(--rt-red-dk) !important; background: #fff6f3 !important;
}
.rt-inner .checkout-inline-error-message,
.rt-inner .woocommerce form .form-row .woocommerce-error-message {
	margin: 6px 0 0 !important; color: var(--rt-red-dk); font-size: .86rem; font-weight: 600;
}
.rt-inner .woocommerce form .form-row .description { font-size: .84rem; color: var(--rt-muted); }

/* selectWoo / select2 (country & state) */
.rt-inner .select2-container .select2-selection--single {
	padding: 0 !important;
	height: 50px; border: 1.5px solid #6b6a64; border-radius: 2px; background: #fffdf8;
}
.rt-inner .select2-container .select2-selection--single .select2-selection__rendered { line-height: 47px !important; padding: 0 2.6em 0 .9em !important; color: var(--rt-text); }
.rt-inner .select2-container .select2-selection--single .select2-selection__arrow { height: 48px; right: 8px; }
.rt-inner .select2-container--focus .select2-selection--single,
.rt-inner .select2-container--open .select2-selection--single { border-color: var(--rt-ink); outline: 3px solid var(--rt-red); outline-offset: 1px; }
.select2-dropdown { border: 1.5px solid var(--rt-ink) !important; border-radius: 0 !important; font-family: var(--rt-sans); }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--rt-red) !important; color: #fff !important; }
.select2-search--dropdown .select2-search__field { border: 1.5px solid #6b6a64 !important; min-height: 40px; }

/* Ticket card (shared by cart totals, order review, login, receipt) */
.rt-inner :is(.cart_totals, #order_review, .woocommerce-form-login, .woocommerce-form-register, .woocommerce-ResetPassword, .woocommerce-order-overview) {
	--notch: 22px;
	position: relative;
	background: var(--rt-paper-hi);
	clip-path: polygon(0 var(--notch), var(--notch) 0, 100% 0, 100% 100%, var(--notch) 100%, 0 calc(100% - var(--notch)));
	filter: drop-shadow(0 14px 18px rgba(27,42,65,.14));
}

/* ==========================================================================
   Single product
   ========================================================================== */
body.rt-inner.single-product div.product {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
	gap: 0 clamp(32px, 5vw, 80px);
	align-items: start;
}
body.rt-inner.single-product div.product::before,
body.rt-inner.single-product div.product::after { display: none !important; content: none !important; }
body.rt-inner.single-product div.product > * { grid-column: 1 / -1; }
body.rt-inner.single-product div.product > .woocommerce-product-gallery {
	grid-column: 1; grid-row: 1;
	width: 100% !important; float: none !important; margin: 0 !important;
	background: var(--rt-paper-hi);
	padding: 14px;
	border: 1px solid rgba(27,42,65,.16);
	box-shadow: 0 1px 0 rgba(27,42,65,.06), 0 24px 40px -30px rgba(27,42,65,.6);
}
body.rt-inner.single-product div.product > .summary {
	grid-column: 2; grid-row: 1;
	width: 100% !important; float: none !important; margin: 0 !important;
}
body.rt-inner.single-product div.product > :is(.ast-onsale-card, span.onsale) { grid-column: 1; grid-row: 1; top: 26px !important; left: -6px !important; font-size: 1.15rem !important; }

.rt-inner .woocommerce-product-gallery img { width: 100%; height: auto; background: #fff; border-radius: 0 !important; }
.rt-inner .woocommerce-product-gallery .flex-control-thumbs {
	display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px;
	margin: 12px 0 0 !important; padding: 0 !important; list-style: none;
}
.rt-inner .woocommerce-product-gallery .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; }
.rt-inner .woocommerce-product-gallery .flex-control-thumbs img {
	opacity: .65; border: 2px solid transparent; cursor: pointer; transition: opacity .2s, border-color .2s;
}
.rt-inner .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; }
.rt-inner .woocommerce-product-gallery .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--rt-red); }
.rt-inner .woocommerce-product-gallery__trigger {
	top: 24px !important; right: 24px !important;
	width: 44px !important; height: 44px !important; border-radius: 50% !important;
	background: var(--rt-paper-hi) !important; border: 1.5px solid var(--rt-ink);
	box-shadow: 0 6px 14px -8px rgba(0,0,0,.5);
}

.rt-inner .summary .woocommerce-breadcrumb { margin-bottom: 18px !important; }
.rt-inner .single-product-category,
.rt-inner .summary .single-product-category {
	display: block; margin: 0 0 10px;
	font: 700 .74rem/1.3 var(--rt-sans); letter-spacing: .2em; text-transform: uppercase;
}
.rt-inner .single-product-category a { color: var(--rt-red-dk) !important; text-decoration: none; }
.rt-inner .summary .product_title {
	font-size: clamp(2.3rem, 1.4rem + 2.8vw, 4rem) !important;
	letter-spacing: -.03em !important; line-height: .98 !important;
	margin: 0 0 20px !important;
	font-variation-settings: "SOFT" 50, "opsz" 144 !important;
}
.rt-inner .summary p.price,
.rt-inner .summary span.price,
.rt-inner .woocommerce-variation-price .price {
	position: relative;
	display: inline-flex !important; flex-wrap: wrap; align-items: baseline; gap: .1em .5em;
	margin: 0 0 22px !important;
	padding: .4em 1em .4em 1.9em !important;
	background: var(--rt-manila);
	color: var(--rt-ink) !important;
	font: 700 clamp(1.3rem, 1.1rem + .6vw, 1.6rem)/1.2 var(--rt-sans) !important;
	font-variant-numeric: tabular-nums;
	clip-path: polygon(.95em 0, 100% 0, 100% 100%, .95em 100%, 0 50%);
}
.rt-inner .summary p.price::before,
.rt-inner .woocommerce-variation-price .price::before {
	content: ""; position: absolute; left: .78em; top: 50%; width: .36em; height: .36em; margin-top: -.18em;
	border-radius: 50%; background: var(--rt-paper); box-shadow: inset 0 1px 1px rgba(0,0,0,.3);
}
.rt-inner .summary .woocommerce-product-details__short-description { font-size: 1.06rem; margin-bottom: 22px; max-width: 34em; }

.rt-inner .summary .stock {
	display: inline-block; margin: 0 0 16px !important; padding: .35em .8em;
	font: 700 .78rem/1.2 var(--rt-sans) !important; letter-spacing: .14em; text-transform: uppercase;
	border: 1.5px dashed currentColor;
}
.rt-inner .summary .stock.in-stock { color: var(--rt-denim-dk) !important; }
.rt-inner .summary .stock.out-of-stock { color: var(--rt-red-dk) !important; border-style: solid; transform: rotate(-2deg); }

/* Tag notes (condition / one-of-a-kind) */
.rt-tagnotes {
	display: grid; gap: 0; margin: 0 0 22px !important; padding: 0;
	border-top: 1.5px dashed rgba(27,42,65,.35);
}
.rt-tagnotes div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1.5px dashed rgba(27,42,65,.35); }
.rt-tagnotes dt { font: 700 .74rem/1.4 var(--rt-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--rt-ink); }
.rt-tagnotes dd { margin: 0; font-family: var(--rt-serif); font-style: italic; color: var(--rt-ink); }

/* Purchase card */
.rt-inner .summary form.cart {
	margin: 0 0 26px !important;
	padding: 22px;
	background: var(--rt-paper-hi);
	border: 1px solid rgba(27,42,65,.18);
	box-shadow: 0 16px 26px -24px rgba(27,42,65,.6);
}
.rt-inner .summary form.cart:not(.variations_form):not(.grouped_form),
.rt-inner .summary .woocommerce-variation-add-to-cart {
	display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px;
}
.rt-inner .summary form.cart::before, .rt-inner .summary form.cart::after { display: none !important; }
.rt-inner .summary form.cart .quantity { margin: 0 !important; float: none !important; display: flex; }
.rt-inner .summary form.cart .quantity .qty,
.rt-inner .woocommerce-cart-form .quantity .qty {
	width: 76px !important; min-height: 54px; height: auto;
	text-align: center; font: 700 1.1rem var(--rt-sans) !important;
	border: 1.5px solid var(--rt-ink) !important; background: #fff !important;
	padding: .4em !important;
}
.rt-inner .summary form.cart .single_add_to_cart_button { flex: 1 1 200px; margin: 0 !important; float: none !important; }
.rt-inner .summary table.variations { width: 100%; margin: 0 0 14px !important; border: 0; border-collapse: collapse; }
.rt-inner .summary table.variations :is(tbody, tr, th, td) { display: block; border: 0 !important; padding: 0 !important; background: none !important; text-align: left; }
.rt-inner .summary table.variations tr { margin-bottom: 14px; }
.rt-inner .summary table.variations th.label label {
	display: block; margin: 0 0 6px !important;
	font: 700 .76rem/1.3 var(--rt-sans) !important; letter-spacing: .16em; text-transform: uppercase; color: var(--rt-ink);
}
.rt-inner .summary table.variations select { width: 100%; max-width: none; margin: 0 !important; }
.rt-inner .summary .reset_variations { display: inline-block; margin-top: 8px; font-size: .86rem; font-weight: 700; color: var(--rt-red-dk) !important; }
.rt-inner .summary .woocommerce-variation { margin-bottom: 8px; }
.rt-inner .summary .woocommerce-variation-description p { margin: 0 0 8px; }
.rt-inner .summary .woocommerce-variation-availability .stock { margin-bottom: 8px !important; }

/* Grouped product table */
.rt-inner .summary .woocommerce-grouped-product-list { width: 100%; margin: 0 0 16px !important; border-collapse: collapse; border: 0; }
.rt-inner .summary .woocommerce-grouped-product-list td { padding: 12px 8px !important; border-bottom: 1.5px dashed rgba(27,42,65,.3) !important; vertical-align: middle; background: none !important; }
.rt-inner .summary .woocommerce-grouped-product-list .quantity .qty { width: 64px !important; min-height: 44px; }
.rt-inner .summary .woocommerce-grouped-product-list label a { font-family: var(--rt-serif); font-weight: 600; color: var(--rt-ink) !important; text-decoration: none; }
.rt-inner .summary .woocommerce-grouped-product-list .price { margin: 0 !important; font-size: .9rem !important; }
.rt-inner .summary .grouped_form .single_add_to_cart_button { width: 100%; }

.rt-inner .product_meta {
	display: grid; gap: 6px; padding-top: 18px;
	border-top: 1.5px dashed rgba(27,42,65,.35);
	font-size: .86rem; color: var(--rt-muted);
}
.rt-inner .product_meta > span { display: block; }
.rt-inner .product_meta a { color: var(--rt-ink) !important; font-weight: 600; }

/* Tabs */
.rt-inner .woocommerce-tabs { margin-top: clamp(56px, 7vw, 96px) !important; padding: 0 !important; }
.rt-inner .woocommerce-tabs ul.tabs {
	display: flex !important; gap: clamp(18px, 3vw, 40px); overflow-x: auto;
	margin: 0 0 28px !important; padding: 0 !important;
	border-bottom: 2px solid var(--rt-ink) !important; list-style: none;
	scrollbar-width: none;
}
.rt-inner .woocommerce-tabs ul.tabs::before, .rt-inner .woocommerce-tabs ul.tabs::after { display: none !important; }
.rt-inner .woocommerce-tabs ul.tabs li {
	flex: 0 0 auto; margin: 0 !important; padding: 0 !important;
	border: 0 !important; background: none !important; border-radius: 0 !important;
}
.rt-inner .woocommerce-tabs ul.tabs li::before, .rt-inner .woocommerce-tabs ul.tabs li::after { display: none !important; }
.rt-inner .woocommerce-tabs ul.tabs li a {
	display: block; padding: .7em 0 !important;
	font: 600 clamp(1.05rem, 1rem + .3vw, 1.25rem)/1.2 var(--rt-serif) !important;
	color: var(--rt-muted) !important; text-decoration: none;
}
.rt-inner .woocommerce-tabs ul.tabs li.active a { color: var(--rt-ink) !important; box-shadow: inset 0 -4px 0 var(--rt-red); }
.rt-inner .woocommerce-tabs ul.tabs li a:hover { color: var(--rt-ink) !important; }
.rt-inner .woocommerce-Tabs-panel { max-width: 780px; margin: 0 !important; padding: 0 !important; }
.rt-inner .woocommerce-Tabs-panel > h2:first-child { font-size: 1.6rem; margin: 0 0 14px; }
.rt-inner table.shop_attributes { border: 0 !important; border-collapse: collapse; width: 100%; }
.rt-inner table.shop_attributes :is(th, td) {
	padding: 12px 10px !important; border: 0 !important; border-bottom: 1.5px dashed rgba(27,42,65,.3) !important;
	background: none !important; font-style: normal !important; text-align: left;
}
.rt-inner table.shop_attributes th { width: 34%; font: 700 .78rem/1.4 var(--rt-sans) !important; letter-spacing: .14em; text-transform: uppercase; color: var(--rt-ink); }
.rt-inner table.shop_attributes td p { margin: 0; padding: 0 !important; }

/* Reviews */
.rt-inner #reviews #comments h2, .rt-inner #reviews .comment-reply-title { font-size: 1.5rem; }
.rt-inner #review_form_wrapper { margin-top: 18px; }
.rt-inner #review_form .comment-form-rating label,
.rt-inner #review_form label { font-weight: 600; color: var(--rt-ink); }
.rt-inner .stars a, .rt-inner .star-rating { color: var(--rt-red); }

/* Related / upsells */
.rt-inner :is(section.related, section.upsells, .cross-sells) { margin-top: clamp(64px, 8vw, 110px) !important; padding-top: clamp(36px, 4vw, 52px); position: relative; }
.rt-inner :is(section.related, section.upsells)::before {
	content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px;
	background: radial-gradient(circle, rgba(27,42,65,.32) 2px, transparent 2.5px) 0 0 / 14px 6px repeat-x;
}
.rt-inner :is(section.related, section.upsells, .cross-sells) > h2 {
	font-size: clamp(1.9rem, 1.3rem + 2vw, 3rem) !important; letter-spacing: -.025em !important;
	margin: 0 0 clamp(24px, 3vw, 36px) !important;
}

/* ==========================================================================
   Cart
   ========================================================================== */
.rt-inner.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) {
	display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, 1fr);
	gap: 32px clamp(28px, 4vw, 56px); align-items: start;
}
.rt-inner.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) > * { grid-column: 1 / -1; }
.rt-inner.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) > .woocommerce-cart-form { grid-column: 1; }
.rt-inner.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) > .cart-collaterals { grid-column: 2; position: sticky; top: calc(var(--rt-admin) + var(--rt-header-h) + 24px); }
.rt-inner .cart-collaterals { width: 100% !important; }
.rt-inner .cart-collaterals::before, .rt-inner .cart-collaterals::after { display: none !important; }
.rt-inner .cart-collaterals :is(.cart_totals, .cross-sells) { width: 100% !important; float: none !important; }

.rt-inner table.shop_table {
	width: 100%; margin: 0 0 24px !important;
	border: 1px solid rgba(27,42,65,.18) !important; border-radius: 0 !important;
	border-collapse: collapse !important;
	background: var(--rt-paper-hi);
	box-shadow: 0 16px 26px -24px rgba(27,42,65,.55);
}
.rt-inner table.shop_table thead th {
	padding: 14px 16px !important;
	font: 700 .72rem/1.3 var(--rt-sans) !important; letter-spacing: .18em; text-transform: uppercase; color: var(--rt-ink) !important;
	background: transparent !important; border: 0 !important; border-bottom: 2px solid var(--rt-ink) !important;
	text-align: left;
}
.rt-inner table.shop_table :is(td, tbody th, tfoot th, tfoot td) {
	padding: 16px !important; border: 0 !important; border-top: 1.5px dashed rgba(27,42,65,.28) !important;
	background: transparent !important; vertical-align: middle; color: var(--rt-text);
}
.rt-inner table.shop_table tbody tr:first-child :is(td, th) { border-top: 0 !important; }
.rt-inner table.cart .product-thumbnail { width: 108px; }
.rt-inner table.cart .product-thumbnail img {
	width: 84px !important; max-width: none; height: 84px; object-fit: cover;
	background: #fff; padding: 4px; border: 1px solid rgba(27,42,65,.18); box-shadow: 0 6px 10px -8px rgba(0,0,0,.4);
}
.rt-inner table.cart .product-name a { font: 600 1.15rem/1.2 var(--rt-serif); color: var(--rt-ink) !important; text-decoration: none; }
.rt-inner table.cart .product-name a:hover { text-decoration: underline; text-decoration-color: var(--rt-red); }
.rt-inner table.cart .product-name dl.variation { margin: 6px 0 0; font-size: .86rem; color: var(--rt-muted); }
.rt-inner table.cart .product-name dl.variation :is(dt, dd) { display: inline; margin: 0; }
.rt-inner table.cart .product-name dl.variation dd p { display: inline; margin: 0; }
.rt-inner table.cart :is(.product-price, .product-subtotal) { font-weight: 700; font-variant-numeric: tabular-nums; }
.rt-inner table.cart .product-subtotal { color: var(--rt-ink); }
.rt-inner table.cart td.product-remove { width: 54px; text-align: center; }
.rt-inner table.cart a.remove {
	display: inline-grid !important; place-items: center;
	width: 36px !important; height: 36px !important; border-radius: 50% !important;
	border: 1.5px solid var(--rt-ink) !important; color: var(--rt-ink) !important;
	background: transparent !important; font-size: 1.3rem; line-height: 1; text-decoration: none;
}
.rt-inner table.cart a.remove:hover { background: var(--rt-red) !important; border-color: var(--rt-red) !important; color: #fff !important; }
.rt-inner table.cart a.remove svg { width: 14px; height: 14px; fill: currentColor; }
.rt-inner table.cart td.actions { padding: 18px 16px !important; background: rgba(239,230,210,.45) !important; }
.rt-inner table.cart td.actions .coupon { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; float: left; }
.rt-inner table.cart td.actions .coupon .input-text { width: 200px !important; min-height: 48px; margin: 0 !important; }
.rt-inner table.cart td.actions > .button { float: right; }
.rt-inner table.cart td.actions .button { margin: 0 !important; }

.rt-inner .cart_totals { padding: 28px 28px 30px !important; }
.rt-inner .cart_totals > h2 { font-size: 1.7rem !important; margin: 0 0 14px !important; padding: 0 !important; background: none !important; border: 0 !important; }
.rt-inner .cart_totals { border: 0 !important; }
.rt-inner .cart_totals table.shop_table,
.rt-inner #order_review table.shop_table { background: transparent; border: 0 !important; box-shadow: none; margin-bottom: 18px !important; }
.rt-inner .cart_totals table.shop_table :is(th, td) { padding: 12px 0 !important; }
.rt-inner .cart_totals table.shop_table th { font: 700 .78rem/1.4 var(--rt-sans) !important; letter-spacing: .14em; text-transform: uppercase; color: var(--rt-ink); width: 40%; }
.rt-inner .cart_totals table.shop_table td { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
.rt-inner :is(.cart_totals, #order_review) .order-total :is(th, td) { border-top: 2px solid var(--rt-ink) !important; }
.rt-inner :is(.cart_totals, #order_review) .order-total td { font-size: 1.35rem; color: var(--rt-red-dk); }
.rt-inner .cart_totals tr.woocommerce-shipping-totals td { font-weight: 400; font-size: .92rem; }
.rt-inner .wc-proceed-to-checkout { padding: 18px 0 0 !important; position: relative; }
.rt-inner .wc-proceed-to-checkout::before {
	content: ""; position: absolute; left: -28px; right: -28px; top: 0; height: 10px;
	background: radial-gradient(circle, var(--rt-paper) 3.5px, transparent 4px) 0 50% / 16px 10px repeat-x;
	border-top: 1.5px dashed rgba(27,42,65,.25);
}
.rt-inner .wc-proceed-to-checkout a.checkout-button { display: flex !important; width: 100%; margin: 6px 0 0 !important; font-size: 1.08rem !important; }

/* Empty cart */
.rt-inner.woocommerce-cart .woocommerce:has(.wc-empty-cart-message) { max-width: 640px; margin-inline: auto; text-align: center; }
.rt-inner .wc-empty-cart-message .cart-empty { text-align: left; }
.rt-empty { margin: 28px auto 10px; }
.rt-empty__art { width: 220px; height: auto; margin: 0 auto 16px; display: block; }
.rt-empty__title { margin: 0 0 6px !important; font: 600 clamp(1.8rem, 1.3rem + 1.6vw, 2.6rem)/1.05 var(--rt-serif) !important; color: var(--rt-ink); letter-spacing: -.02em; }
.rt-empty__copy { color: var(--rt-muted); margin: 0 0 6px !important; }
.rt-empty .rt-note { margin: 4px 0 18px; }
.rt-inner .return-to-shop { margin: 0 0 20px !important; }

/* ==========================================================================
   Checkout
   ========================================================================== */
.rt-inner form.checkout.woocommerce-checkout {
	display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, 1fr);
	gap: 0 clamp(28px, 4vw, 64px); align-items: start;
}
.rt-inner form.checkout.woocommerce-checkout::before,
.rt-inner form.checkout.woocommerce-checkout::after,
.rt-inner form.checkout > wc-order-attribution-inputs,
.rt-inner form.checkout > .clear { display: none !important; }
.rt-inner form.checkout > * { grid-column: 1 / -1; }
.rt-inner form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; grid-row: 1; }
.rt-inner form.checkout > #customer_details { grid-column: 1; grid-row: 2 / span 3; }
.rt-inner form.checkout > #order_review_heading { grid-column: 2; grid-row: 2; margin: 0 0 16px !important; padding: 0 !important; border: 0 !important; background: none !important; }
.rt-inner form.checkout > #order_review { grid-column: 2; grid-row: 3; position: sticky; top: calc(var(--rt-admin) + var(--rt-header-h) + 24px); }
body.rt-inner form.checkout :is(#customer_details, #order_review, #order_review_heading) { width: 100% !important; float: none !important; clear: none !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0; padding-right: 0; }
.rt-inner #customer_details.col2-set { width: 100%; margin: 0; }
.rt-inner #customer_details.col2-set :is(.col-1, .col-2) { width: 100% !important; float: none !important; max-width: none; padding: 0 !important; }
.rt-inner #customer_details.col2-set::before, .rt-inner #customer_details.col2-set::after { display: none; }

.rt-inner :where(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper, .woocommerce-account-fields .create-account) {
	display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px;
}
.rt-inner :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper) > .form-row {
	grid-column: 1 / -1; width: 100% !important; float: none !important;
}
.rt-inner :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper) > :is(.form-row-first) { grid-column: 1; }
.rt-inner :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper) > :is(.form-row-last) { grid-column: 2; }

/* Section heads with tag numbers */
.rt-inner form.checkout { counter-reset: rtstep; }
.rt-inner form.checkout :is(.woocommerce-billing-fields > h3, .woocommerce-shipping-fields h3#ship-to-different-address, .woocommerce-additional-fields > h3, #order_review_heading) {
	counter-increment: rtstep;
	display: flex; align-items: center; gap: 14px;
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem) !important; margin: 0 0 20px !important;
}
.rt-inner form.checkout :is(.woocommerce-billing-fields > h3, .woocommerce-additional-fields > h3, #order_review_heading)::before {
	content: counter(rtstep);
	display: inline-grid; place-items: center; flex: 0 0 auto;
	width: 46px; height: 32px; padding-left: 10px;
	background: var(--rt-red); color: var(--rt-paper-hi);
	font: 700 .95rem/1 var(--rt-sans);
	clip-path: polygon(12px 0, 100% 0, 100% 100%, 12px 100%, 0 50%);
}
.rt-inner .woocommerce-additional-fields { margin-top: 18px; }
.rt-inner .woocommerce-shipping-fields #ship-to-different-address label { font-size: 1.05rem; font-family: var(--rt-sans); }

.rt-inner #order_review { padding: 26px 26px 28px !important; border: 0 !important; }
.rt-inner #order_review table.shop_table thead th { border-bottom: 2px solid var(--rt-ink) !important; padding: 0 0 10px !important; }
.rt-inner #order_review table.shop_table :is(td, tfoot th) { padding: 12px 0 !important; }
.rt-inner #order_review table.shop_table tfoot th { font: 700 .78rem/1.4 var(--rt-sans) !important; letter-spacing: .14em; text-transform: uppercase; color: var(--rt-ink); text-align: left; }
.rt-inner #order_review table.shop_table :is(.product-total, tfoot td) { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
.rt-inner #order_review .product-name { font-family: var(--rt-serif); font-weight: 600; color: var(--rt-ink); }
.rt-inner #order_review .product-quantity { font-family: var(--rt-sans); font-weight: 700; color: var(--rt-red-dk); }

.rt-inner #payment { background: transparent !important; border-radius: 0 !important; }
.rt-inner #payment ul.payment_methods { padding: 0 0 16px !important; border-bottom: 1.5px dashed rgba(27,42,65,.3) !important; margin: 0 !important; }
.rt-inner #payment ul.payment_methods li { list-style: none; margin: 0 0 8px; }
.rt-inner #payment ul.payment_methods li .woocommerce-info,
.rt-inner #payment ul.payment_methods li.woocommerce-notice { margin: 0 !important; font-size: .9rem !important; }
.rt-inner #payment div.payment_box { background: var(--rt-manila) !important; color: var(--rt-ink) !important; border-radius: 0 !important; }
.rt-inner #payment div.payment_box::before { border-bottom-color: var(--rt-manila) !important; }
.rt-inner #payment .place-order { padding: 18px 0 0 !important; margin: 0 !important; }
.rt-inner .woocommerce-privacy-policy-text p,
.rt-inner .woocommerce-terms-and-conditions-wrapper { font-size: .84rem; color: var(--rt-muted); }
.rt-inner #place_order { width: 100% !important; float: none !important; margin-top: 10px !important; font-size: 1.1rem !important; }

.rt-inner .woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: 16px !important; }
.rt-inner form.checkout_coupon {
	display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end;
	margin: 0 0 28px !important; padding: 20px !important;
	border: 1.5px dashed rgba(27,42,65,.45) !important; border-radius: 0 !important; background: var(--rt-paper-hi);
}
.rt-inner form.checkout_coupon :is(.form-row-first, .form-row-last) { width: auto !important; float: none !important; margin: 0 !important; }
.rt-inner form.checkout_coupon .form-row-first { flex: 1 1 220px; }
.rt-inner form.checkout_coupon > p:not(.form-row) { flex: 1 0 100%; margin: 0; }
.rt-inner form.checkout_coupon .clear { display: none; }

/* ==========================================================================
   My account
   ========================================================================== */
.rt-inner.woocommerce-account:not(.logged-in) .woocommerce,
.rt-inner.woocommerce-lost-password .woocommerce { max-width: 560px; margin-inline: auto; }
.rt-inner.woocommerce-account .woocommerce:has(.u-columns) { max-width: 1040px; }
.rt-inner .u-columns.col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.rt-inner .u-columns.col2-set::before, .rt-inner .u-columns.col2-set::after { display: none; }
.rt-inner .u-columns.col2-set .u-column1, .rt-inner .u-columns.col2-set .u-column2 { width: 100% !important; float: none !important; }
.rt-inner.woocommerce-account .woocommerce > h2,
.rt-inner .u-columns h2 { font-size: clamp(1.8rem, 1.4rem + 1.2vw, 2.4rem); margin: 0 0 16px; }
.rt-inner :is(.woocommerce-form-login, .woocommerce-form-register, .woocommerce-ResetPassword) {
	margin: 0 0 24px !important; padding: clamp(24px, 4vw, 40px) !important;
	border: 0 !important; border-radius: 0 !important;
}
.rt-inner .woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme) { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 10px; }
.rt-inner .woocommerce-form-login__rememberme { margin: 0 !important; }
.rt-inner .woocommerce-form-login__submit { margin: 0 !important; float: none !important; }
.rt-inner .woocommerce-LostPassword { margin: 14px 0 0; font-size: .92rem; }

.rt-inner.woocommerce-account.logged-in .woocommerce {
	display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 32px clamp(28px, 4vw, 64px); align-items: start;
}
.rt-inner.woocommerce-account.logged-in .woocommerce::before,
.rt-inner.woocommerce-account.logged-in .woocommerce::after { display: none; }
.rt-inner.woocommerce-account.logged-in .woocommerce > :not(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-content) { grid-column: 1 / -1; }
.rt-inner .woocommerce-MyAccount-navigation { width: 100% !important; float: none !important; }
.rt-inner .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 !important; padding: 0 !important; border-top: 2px solid var(--rt-ink); }
.rt-inner .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; border-bottom: 1.5px dashed rgba(27,42,65,.3); }
.rt-inner .woocommerce-MyAccount-navigation li a {
	display: block; padding: 13px 12px 13px 16px !important;
	font: 600 1rem/1.3 var(--rt-sans); color: var(--rt-ink) !important; text-decoration: none;
	border-left: 4px solid transparent;
}
.rt-inner .woocommerce-MyAccount-navigation li a:hover { background: rgba(242,227,194,.5); }
.rt-inner .woocommerce-MyAccount-navigation li.is-active a { background: var(--rt-manila); border-left-color: var(--rt-red); font-weight: 700; }
.rt-inner .woocommerce-MyAccount-content { width: 100% !important; float: none !important; }
.rt-inner .woocommerce-MyAccount-content > p:first-child { font-size: 1.08rem; }
.rt-inner .woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; }
.rt-inner .woocommerce-Addresses::before, .rt-inner .woocommerce-Addresses::after { display: none; }
.rt-inner .woocommerce-Addresses .woocommerce-Address { width: 100% !important; float: none !important; padding: 20px; background: var(--rt-paper-hi); border: 1.5px dashed rgba(27,42,65,.35); }
.rt-inner .woocommerce-Address-title h2, .rt-inner .woocommerce-Address-title h3 { font-size: 1.35rem; }
.rt-inner .woocommerce-Address-title .edit { font-weight: 700; font-size: .88rem; }
.rt-inner .woocommerce-orders-table .button { min-height: 38px; padding: .45em .9em; font-size: .82rem; margin: 2px; }
.rt-inner fieldset { border: 1.5px dashed rgba(27,42,65,.35); padding: 18px 20px 6px; margin: 18px 0; }
.rt-inner fieldset legend { padding: 0 8px; font-family: var(--rt-serif); font-weight: 600; font-size: 1.2rem; color: var(--rt-ink); }

/* ==========================================================================
   Order received
   ========================================================================== */
.rt-inner .woocommerce-order { max-width: 900px; }
.rt-thanks-note { margin: 0 0 6px; font-size: 1.8rem !important; }
.rt-inner .woocommerce-thankyou-order-received,
.rt-inner .woocommerce-notice--success.woocommerce-thankyou-order-received {
	margin: 0 0 26px !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important;
	font: 600 clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem)/1.15 var(--rt-serif) !important; color: var(--rt-ink) !important;
}
.rt-inner .woocommerce-thankyou-order-received::before { display: none !important; }
.rt-inner ul.woocommerce-order-overview {
	display: grid !important; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	margin: 0 0 36px !important; padding: 26px 26px 26px 40px !important; list-style: none;
}
.rt-inner ul.woocommerce-order-overview::before, .rt-inner ul.woocommerce-order-overview::after { display: none !important; }
.rt-inner ul.woocommerce-order-overview li {
	float: none !important; margin: 0 !important; padding: 8px 18px !important;
	border-right: 0 !important; border-left: 1.5px dashed rgba(27,42,65,.3) !important;
	font: 700 .72rem/1.5 var(--rt-sans) !important; letter-spacing: .16em; text-transform: uppercase; color: var(--rt-muted);
}
.rt-inner ul.woocommerce-order-overview li strong {
	display: block; margin-top: 6px;
	font: 600 1.15rem/1.25 var(--rt-serif) !important; letter-spacing: 0; text-transform: none; color: var(--rt-ink);
	word-break: break-word;
}
.rt-inner .woocommerce-order-details__title,
.rt-inner .woocommerce-column__title { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem) !important; margin: 0 0 16px !important; }
.rt-inner .woocommerce-customer-details address {
	padding: 20px !important; border: 1.5px dashed rgba(27,42,65,.35) !important; border-radius: 0 !important;
	background: var(--rt-paper-hi); font-style: normal; line-height: 1.6;
}
.rt-inner .woocommerce-customer-details .col2-set::before,
.rt-inner .woocommerce-customer-details .col2-set::after { display: none; }
.rt-inner .woocommerce-customer-details .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.rt-inner .woocommerce-customer-details .col2-set > * { width: 100% !important; float: none !important; }
.rt-inner .woocommerce-order-details table.shop_table tfoot :is(th, td) { font-weight: 700; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1100px) {
	body.rt-inner ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	body.rt-inner.single-product div.product { grid-template-columns: minmax(0, 1fr); }
	body.rt-inner.single-product div.product > .summary { grid-column: 1; grid-row: auto; position: static; margin-top: 28px !important; }
	body.rt-inner.single-product div.product > .woocommerce-product-gallery { padding: 10px; }

	.rt-inner.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) { grid-template-columns: minmax(0, 1fr); }
	.rt-inner.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) > .cart-collaterals { grid-column: 1; position: static; }

	.rt-inner form.checkout.woocommerce-checkout { grid-template-columns: minmax(0, 1fr); }
	.rt-inner form.checkout > #customer_details,
	.rt-inner form.checkout > #order_review_heading,
	.rt-inner form.checkout > #order_review,
	.rt-inner form.checkout > .woocommerce-NoticeGroup { grid-column: 1; grid-row: auto; position: static; }
	.rt-inner form.checkout > #order_review_heading { margin-top: 28px !important; }

	.rt-inner.woocommerce-account.logged-in .woocommerce { grid-template-columns: minmax(0, 1fr); }
	.rt-inner .woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; border-top: 0; gap: 8px; padding-bottom: 6px !important; scrollbar-width: thin; }
	.rt-inner .woocommerce-MyAccount-navigation li { border: 0; flex: 0 0 auto; }
	.rt-inner .woocommerce-MyAccount-navigation li a { border: 1.5px solid rgba(27,42,65,.4); border-left-width: 1.5px; padding: 10px 14px !important; white-space: nowrap; }
	.rt-inner .woocommerce-MyAccount-navigation li.is-active a { border-color: var(--rt-red); box-shadow: inset 0 -3px 0 var(--rt-red); }
}

@media (max-width: 768px) {
	body.rt-inner ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 14px; }
	.rt-inner ul.products li.product .astra-shop-thumbnail-wrap { padding: 6px; }
	.rt-inner ul.products li.product .price { font-size: .92rem !important; }
	body.rt-inner ul.products li.product .button { width: 100%; padding: .55em .6em !important; font-size: .76rem !important; }
	.rt-inner .woocommerce-result-count, .rt-inner .woocommerce-ordering { float: none !important; width: 100%; }
	.rt-inner .woocommerce-ordering select { width: 100%; }

	.rt-depts__list { flex-wrap: nowrap; overflow-x: auto; margin: 0 calc(var(--rt-gutter) * -1) !important; padding: 2px var(--rt-gutter) 8px !important; scrollbar-width: none; }
	.rt-depts__list::-webkit-scrollbar { display: none; }
	.rt-depts__list li { flex: 0 0 auto; }

	/* Cart table → stacked rows (WooCommerce's responsive table) */
	.rt-inner table.shop_table_responsive thead { display: none; }
	.rt-inner table.cart tr.cart_item {
		display: grid !important; grid-template-columns: 76px minmax(0, 1fr) 40px; gap: 4px 14px;
		padding: 16px; border-top: 1.5px dashed rgba(27,42,65,.28);
	}
	.rt-inner table.cart tr.cart_item:first-child { border-top: 0; }
	.rt-inner table.cart tr.cart_item td { display: block !important; padding: 0 !important; border: 0 !important; text-align: left !important; }
	.rt-inner table.cart tr.cart_item td::before { display: none !important; }
	.rt-inner table.cart tr.cart_item td.product-thumbnail { display: block !important; grid-column: 1; grid-row: 1 / span 3; width: auto; }
	.rt-inner table.cart tr.cart_item td.product-thumbnail img { width: 76px !important; height: 76px; }
	.rt-inner table.cart tr.cart_item td.product-name { grid-column: 2; grid-row: 1; }
	.rt-inner table.cart tr.cart_item td.product-remove { grid-column: 3; grid-row: 1; width: auto; }
	.rt-inner table.cart tr.cart_item td.product-price { grid-column: 2; grid-row: 2; font-size: .9rem; color: var(--rt-muted); font-weight: 600; }
	.rt-inner table.cart tr.cart_item td.product-quantity { grid-column: 2; grid-row: 3; display: flex !important; align-items: center; gap: 12px; }
	.rt-inner table.cart tr.cart_item td.product-subtotal { grid-column: 2 / -1; grid-row: 4; display: flex !important; justify-content: space-between; padding-top: 8px !important; margin-top: 4px; border-top: 1px dotted rgba(27,42,65,.3) !important; }
	.rt-inner table.cart tr.cart_item td.product-subtotal::before { display: inline !important; content: attr(data-title); float: none; font: 700 .72rem/1.8 var(--rt-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--rt-muted); }
	.rt-inner table.cart tr.cart_item .quantity .qty { min-height: 46px; width: 70px !important; }
	.rt-inner table.cart tr:not(.cart_item) { display: block; }
	.rt-inner table.cart td.actions { display: block; }
	.rt-inner table.cart td.actions .coupon { float: none; width: 100%; margin-bottom: 12px; }
	.rt-inner table.cart td.actions .coupon .input-text { flex: 1 1 140px; width: auto !important; }
	.rt-inner table.cart td.actions > .button { float: none; width: 100%; }

	.rt-inner .cart_totals table.shop_table tr { display: table-row; }
	.rt-inner .cart_totals table.shop_table :is(th, td) { display: table-cell !important; }
	.rt-inner .cart_totals table.shop_table td::before { display: none !important; }

	.rt-inner .u-columns.col2-set { grid-template-columns: minmax(0, 1fr); }
	.rt-inner .woocommerce-customer-details .col2-set { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 560px) {
	.rt-inner :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper) { grid-template-columns: minmax(0, 1fr); }
	.rt-inner :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper) > :is(.form-row-first, .form-row-last) { grid-column: 1; }
	.rt-demo__inner { align-items: flex-start; }
	.rt-inner :is(.woocommerce-message, .woocommerce-info):has(.button) { display: flex !important; flex-direction: column; align-items: stretch; }
	.rt-inner :is(.woocommerce-message, .woocommerce-info) .button { order: 2; float: none; display: flex; margin: 12px 0 0 !important; width: 100%; }
	.rt-inner .summary form.cart { padding: 16px; }
	.rt-inner :is(.cart_totals, #order_review) { --notch: 16px; padding: 22px 18px 24px !important; }
	.rt-inner .wc-proceed-to-checkout::before { left: -18px; right: -18px; }
	.rt-inner ul.woocommerce-order-overview { padding: 20px 18px !important; grid-template-columns: 1fr 1fr; }
	.rt-inner ul.woocommerce-order-overview li { padding: 8px 10px !important; }
}

@media (prefers-reduced-motion: reduce) {
	.rt-inner ul.products li.product .astra-shop-thumbnail-wrap { transition: none; }
	.rt-inner ul.products li.product:hover .astra-shop-thumbnail-wrap,
	.rt-inner ul.products li.product:focus-within .astra-shop-thumbnail-wrap { transform: none !important; }
}

@media (forced-colors: active) {
	.rt-inner :is(.price, .button.alt, .single_add_to_cart_button, #place_order, a.checkout-button, .rt-dept) { clip-path: none !important; border: 2px solid ButtonText; }
	.rt-inner :is(.cart_totals, #order_review, .woocommerce-form-login) { clip-path: none; border: 2px solid CanvasText; }
}

/* Astra scroll-to-top button, in brand */
.rt-inner #ast-scroll-top {
	background: var(--rt-ink) !important; color: var(--rt-paper-hi) !important;
	border-radius: 0 !important; width: 46px; height: 46px; line-height: 46px;
}
.rt-inner #ast-scroll-top:hover { background: var(--rt-red) !important; }

/* Review form submit (WooCommerce styles it with an ID selector) */
body.rt-inner #respond input#submit {
	min-height: 48px; padding: .85em 1.4em; border: 0; border-radius: 0;
	background: var(--rt-ink); color: var(--rt-paper-hi);
	font: 700 .92rem/1.2 var(--rt-sans); letter-spacing: .04em;
}
body.rt-inner #respond input#submit:hover { background: var(--rt-red-dk); }

/* Handwritten notes keep their hand font inside page content */
.rt-inner .site-content .rt-note { font-family: var(--rt-hand); font-weight: 600; }

/* Astra boxes the order sections — flatten them into the page */
.rt-inner :is(.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-order-downloads) {
	background: none !important; padding: 0 !important; border: 0 !important; box-shadow: none !important;
	margin: 0 0 36px !important;
}
.rt-inner .woocommerce-order-details .order-actions--heading { font: 700 .78rem/1.4 var(--rt-sans) !important; letter-spacing: .14em; text-transform: uppercase; }
.rt-inner .woocommerce-table--order-details tfoot th { font: 700 .78rem/1.4 var(--rt-sans) !important; letter-spacing: .12em; text-transform: uppercase; color: var(--rt-ink); text-align: left; }
.rt-inner .woocommerce-table--order-details :is(.product-total, tfoot td) { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
.rt-inner .woocommerce-table--order-details .product-name a { font-family: var(--rt-serif); font-weight: 600; color: var(--rt-ink) !important; text-decoration: none; }
.rt-inner :is(.woocommerce-order-details__title, .woocommerce-column__title, .woocommerce-order-downloads__title) { background: none !important; padding: 0 !important; border: 0 !important; }
.rt-inner .woocommerce-table--order-details td :is(.button, a.button) + :is(.button, a.button) { margin-left: 8px !important; }

/* Empty department */
.rt-empty--dept { text-align: center; max-width: 620px; margin: 10px auto 40px; }
.rt-inner .woocommerce-no-products-found .woocommerce-info { max-width: 620px; margin-inline: auto !important; }
