/* Rudransh Store Features
 *
 * Design system — devotional palette (kumkum maroon, saffron, sandalwood, temple gold).
 * Every text/background pair below meets WCAG AA (4.5:1) or better:
 *   ink on ivory 15.9 · muted on ivory 8.4 · maroon on ivory 9.8 · white on saffron 5.2
 *   ivory on deep maroon 14.5 · gold on deep maroon 9.0 · green on white 5.4
 * Gold is used for text only on the dark maroon backgrounds.
 */
:root {
	--rd-ink: #2b1a12;          /* main text */
	--rd-muted: #5e4535;        /* secondary text (not faded opacity: stays readable) */
	--rd-bg: #fff9f0;           /* page background — warm ivory */
	--rd-bg-alt: #fbeedc;       /* alternate sections — sandalwood */
	--rd-bg-alt-2: #f6e3c8;     /* deeper sandalwood for call-to-action bands */
	--rd-surface: #ffffff;      /* cards, inputs */
	--rd-maroon: #7b1e1e;       /* links, labels, outline buttons */
	--rd-maroon-deep: #4a1212;  /* dark sections, header strip, footer */
	--rd-saffron: #c2410c;      /* primary buttons (white text) */
	--rd-saffron-dark: #9a3412; /* primary button hover */
	--rd-gold: #f2c14e;         /* accents on dark backgrounds only */
	--rd-on-dark: #fff9f0;
	--rd-on-dark-muted: #ebd9c3;
	--rd-green: #1f7a45;
	--rd-line: rgba(43, 26, 18, 0.12);
	--rd-line-strong: rgba(43, 26, 18, 0.22);
	--rd-radius: 10px;
	--rd-radius-sm: 6px;
	--rd-shadow: 0 6px 20px rgba(74, 18, 18, 0.08);
	--rd-serif: "Tiro Devanagari Hindi", Georgia, serif;
	--rd-sans: "Mukta", system-ui, -apple-system, "Segoe UI", sans-serif;

	/* legacy names used by older markup */
	--rd-brown: var(--rd-maroon-deep);
	--rd-cream: var(--rd-bg);
	--rd-paper: var(--rd-surface);
	--rd-sand: var(--rd-bg-alt);
	--rd-gold-bright: var(--rd-gold);
}

body { background: var(--rd-bg); color: var(--rd-ink); font-family: var(--rd-sans); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }

/* Tiro Devanagari Hindi glyphs are ~1.21em tall (accents + descenders). Anything set in it that can
 * wrap needs line-height ≥ 1.3, otherwise letters on one line touch the line below. */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.rd-card__title, .rd-rashi__name, .rd-collection__empty,
.woocommerce-loop-product__title,
.rd-faq .elementor-tab-title, .rudransh-faq summary,
.wc-block-components-product-name, .wc-block-components-title,
.entry-title, .page-title { line-height: 1.35 !important; }
.rd-num p { line-height: 1.1 !important; }

/* =========================================================================
 * Buttons
 * ====================================================================== */
body .rd-btn, body a.rd-btn,
body .rd-el-btn .elementor-button,
body .rd-form .elementor-button,
body.woocommerce ul.products li.product .button,
body .woocommerce ul.products li.product .button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 12px 28px;
	background: var(--rd-saffron); color: #fff; border: 1px solid var(--rd-saffron);
	border-radius: var(--rd-radius-sm);
	font: 600 15px/1.2 var(--rd-sans); letter-spacing: 0.04em; text-transform: uppercase; text-decoration: none;
	box-shadow: none; cursor: pointer;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}
body .rd-btn:hover, body a.rd-btn:hover, body a.rd-btn:focus,
body .rd-el-btn .elementor-button:hover,
body .rd-form .elementor-button:hover,
body.woocommerce ul.products li.product .button:hover,
body .woocommerce ul.products li.product .button:hover { background: var(--rd-saffron-dark); border-color: var(--rd-saffron-dark); color: #fff; }

body .rd-btn--outline, body a.rd-btn--outline,
body .rd-el-btn--outline .elementor-button { background: transparent; color: var(--rd-maroon); border-color: var(--rd-maroon); }
body .rd-btn--outline:hover, body a.rd-btn--outline:hover,
body .rd-el-btn--outline .elementor-button:hover { background: var(--rd-maroon); color: #fff; border-color: var(--rd-maroon); }

body .rd-el-btn--ghost .elementor-button { background: transparent; color: var(--rd-on-dark); border-color: rgba(255, 249, 240, 0.6); }
body .rd-el-btn--ghost .elementor-button:hover { background: var(--rd-on-dark); color: var(--rd-maroon-deep); border-color: var(--rd-on-dark); }

body .rd-card__btn.loading, body ul.products li.product .button.loading { opacity: 0.7; }
body .rd-card__btn.added::after { content: " ✓"; }
.rd-btn:focus-visible, .rd-el-btn .elementor-button:focus-visible { outline: 3px solid var(--rd-gold); outline-offset: 2px; }

/* =========================================================================
 * Section helpers (Elementor header, footer, pages)
 * ====================================================================== */
.rd-eyebrow, .rd-eyebrow p {
	margin: 0 !important;
	font: 600 13px/1.5 var(--rd-sans) !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase;
	color: var(--rd-maroon) !important;
}
.rd-eyebrow p::before { content: "✦ "; color: var(--rd-saffron); }
body .rd-dark .rd-eyebrow p, body .rd-hero .rd-eyebrow p { color: var(--rd-gold) !important; }
body .rd-dark .rd-eyebrow p::before, body .rd-hero .rd-eyebrow p::before { color: var(--rd-gold); }

.elementor-heading-title { letter-spacing: 0; }
.elementor-heading-title em { font-style: italic; color: var(--rd-saffron); }
body .rd-dark, body .rd-dark .elementor-heading-title { color: var(--rd-on-dark); }
body .rd-dark .elementor-widget-text-editor { color: var(--rd-on-dark-muted); }
body .rd-dark .elementor-heading-title em { color: var(--rd-gold); }

.rd-lead p { font-size: 18px; line-height: 1.7; }
.rd-muted p, .rd-muted { color: var(--rd-muted); line-height: 1.75; }
body .rd-dark .rd-muted, body .rd-dark .rd-muted p { color: var(--rd-on-dark-muted); }

/* Hero */
.rd-hero { position: relative; overflow: hidden; }
/* Elementor also uses ::before for its own overlay, so these need to win. */
.e-con.rd-hero::before {
	content: "" !important; display: block !important; opacity: 1 !important;
	position: absolute; inset: 0; z-index: 0 !important; pointer-events: none;
	background: linear-gradient(90deg, rgba(46, 10, 10, 0.92) 0%, rgba(46, 10, 10, 0.7) 50%, rgba(46, 10, 10, 0.25) 100%) !important;
}
.rd-hero > .e-con-inner, .rd-hero > .elementor-element { position: relative; z-index: 1; }
.rd-hero .elementor-widget-heading { max-width: 720px; }
body .rd-hero .elementor-heading-title { color: var(--rd-on-dark); }
body .rd-hero .elementor-heading-title em { color: var(--rd-gold); }
body .rd-hero .elementor-widget-text-editor { color: var(--rd-on-dark-muted); max-width: 540px; }

/* Trust bar */
.rd-trust .elementor-icon { color: var(--rd-saffron); font-size: 26px; }
.rd-trust .elementor-icon svg { fill: var(--rd-saffron); }
.rd-trust .elementor-icon-box-title { margin: 10px 0 2px !important; font: 600 14px/1.35 var(--rd-sans) !important; letter-spacing: 0.04em; text-transform: uppercase; color: var(--rd-ink); }
.rd-trust .elementor-icon-box-description { font-size: 14px; line-height: 1.45; color: var(--rd-muted); margin: 0; }

/* Numbered cards (five steps, styles, values) */
.rd-num p { margin: 0; font: 400 40px/1 var(--rd-serif); color: var(--rd-saffron); }
body .rd-dark .rd-num p { color: var(--rd-gold); }
.rd-step { border-top: 1px solid rgba(255, 249, 240, 0.2); padding-top: 22px !important; }
.rd-style-card {
	background: var(--rd-surface); border: 1px solid var(--rd-line); border-radius: var(--rd-radius);
	padding: 24px !important; box-shadow: var(--rd-shadow);
}
.rd-card-title .elementor-heading-title { font-size: 24px; line-height: 1.25; }
.rd-kicker .elementor-heading-title { font: 600 15px/1.4 var(--rd-sans); letter-spacing: 0.08em; text-transform: uppercase; }
body .rd-dark .rd-kicker .elementor-heading-title { color: var(--rd-gold); }

/* Images get soft corners */
.elementor-widget-image img { border-radius: var(--rd-radius); }

/* Reviews section stays hidden until real reviews exist ([rudransh_reviews] outputs .rd-reviews). */
.rd-reviews-section:not(:has(.rd-reviews)) { display: none !important; }

/* Figure captions */
.rd-caption p { margin: 8px 0 0; font: 400 14px/1.5 var(--rd-sans); color: var(--rd-muted); font-style: italic; }

/* FAQ accordion (Elementor) */
.rd-faq .elementor-accordion-item { border: 0 !important; border-bottom: 1px solid var(--rd-line-strong) !important; }
.rd-faq .elementor-tab-title { padding: 18px 0 !important; font: 400 20px/1.35 var(--rd-serif) !important; color: var(--rd-ink) !important; }
.rd-faq .elementor-tab-title a { color: inherit !important; }
.rd-faq .elementor-accordion-icon, .rd-faq .elementor-accordion-icon svg { color: var(--rd-saffron) !important; fill: var(--rd-saffron) !important; }
.rd-faq .elementor-tab-content { padding: 0 0 20px !important; border: 0 !important; font-size: 16px; line-height: 1.75; color: var(--rd-muted); }

/* =========================================================================
 * Header
 * ====================================================================== */
/* The marquee strip is wider than the screen; clip it at every wrapper so the page never scrolls sideways. */
.rd-announce,
.rd-announce > .e-con-inner,
.rd-announce .elementor-widget-html,
.rd-announce .elementor-widget-container { overflow: hidden !important; max-width: 100%; min-width: 0; }
.rd-marquee { display: flex; width: max-content; animation: rd-marquee 40s linear infinite; }
.rd-marquee span { padding: 0 24px; white-space: nowrap; font: 500 13px/1.2 var(--rd-sans); letter-spacing: 0.04em; color: var(--rd-on-dark); }
.rd-marquee span::after { content: "✦"; margin-left: 48px; color: var(--rd-gold); }
.rd-announce:hover .rd-marquee { animation-play-state: paused; }
@keyframes rd-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .rd-marquee { animation: none; } }

.rd-header { border-bottom: 1px solid var(--rd-line); box-shadow: 0 2px 12px rgba(74, 18, 18, 0.05); }
.rd-header .elementor-nav-menu a.elementor-item {
	font: 600 14px/1.4 var(--rd-sans); letter-spacing: 0.04em; text-transform: uppercase; color: var(--rd-ink);
	padding-left: 12px; padding-right: 12px;
}
.rd-header .elementor-nav-menu a.elementor-item:hover,
.rd-header .elementor-nav-menu a.elementor-item.elementor-item-active { color: var(--rd-maroon); }
.rd-header .elementor-nav-menu--main a.elementor-item.elementor-item-active { box-shadow: inset 0 -2px 0 var(--rd-saffron); }
.rd-header .elementor-menu-toggle { color: var(--rd-ink); background: transparent; width: 44px; height: 44px; font-size: 24px; }
.rd-header .elementor-menu-toggle svg { fill: var(--rd-ink); }
.rd-header .elementor-nav-menu--dropdown { background: var(--rd-surface); box-shadow: 0 12px 24px rgba(74, 18, 18, 0.12); }
.rd-header .elementor-nav-menu--dropdown a {
	color: var(--rd-ink) !important; font: 600 16px/1.4 var(--rd-sans); letter-spacing: 0.02em; text-transform: none;
	padding: 14px 20px !important; border-bottom: 1px solid var(--rd-line);
}
.rd-header .elementor-nav-menu--dropdown a:hover,
.rd-header .elementor-nav-menu--dropdown a.elementor-item-active { background: var(--rd-bg-alt) !important; color: var(--rd-maroon) !important; }
.rd-icons .elementor-icon { color: var(--rd-ink); font-size: 20px; }
.rd-icons .elementor-icon svg { fill: var(--rd-ink); }
.rd-icons .elementor-icon:hover, .rd-icons .elementor-icon:hover svg { color: var(--rd-maroon); fill: var(--rd-maroon); }
.rd-icons .elementor-icon-wrapper a, .rd-icons a.elementor-icon { display: inline-grid; place-items: center; min-width: 40px; min-height: 40px; }
.rd-header .elementor-menu-cart__toggle .elementor-button { background: transparent; color: var(--rd-ink); padding: 8px; border: 0; }
.rd-header .elementor-menu-cart__toggle .elementor-button-icon { font-size: 20px; }
.rd-header .elementor-menu-cart__toggle .elementor-button-icon svg { fill: var(--rd-ink); }
.rd-header .elementor-menu-cart__toggle .elementor-button-icon[data-counter]::before { background: var(--rd-saffron); color: #fff; font-weight: 700; }
.rd-header .elementor-search-form {
	--e-search-form-toggle-background-color: transparent;
	--e-search-form-toggle-color: var(--rd-ink);
	--e-search-form-toggle-size: 40px;
	--e-search-form-toggle-icon-size: 0.5;
}
.rd-header .elementor-search-form__toggle, .rd-header .elementor-search-form__toggle > div { background: transparent !important; color: var(--rd-ink) !important; }
.rd-header .elementor-search-form__toggle svg { fill: currentColor; }
/* ---------- Header icons: one size, one box, one baseline (all screens) ----------
 * Every icon sits in the same 40×40 box with a 20px glyph (search 18px: its glyph is solid and
 * reads heavier than the outline account/heart icons). */
.rd-header .elementor-widget-icon .elementor-icon-wrapper { display: flex; line-height: 0; }
.rd-header .elementor-widget-icon .elementor-icon {
	display: flex !important; align-items: center; justify-content: center; width: 40px; height: 40px; line-height: 0;
}
.rd-header .elementor-widget-icon .elementor-icon svg { width: 20px !important; height: 20px !important; }
.rd-header .elementor-search-form { --e-search-form-toggle-size: 40px; --e-search-form-toggle-icon-size: 0.45; }
.rd-header .elementor-search-form__toggle { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; }
.rd-header .elementor-search-form__toggle > div { width: 40px !important; height: 40px !important; display: flex !important; align-items: center; justify-content: center; }
.rd-header .elementor-search-form__toggle svg { width: 18px !important; height: 18px !important; }
.rd-header .elementor-menu-cart__toggle .elementor-button {
	display: flex !important; align-items: center; justify-content: center; width: 40px; height: 40px; min-width: 40px; padding: 0 !important;
}
.rd-header .elementor-menu-cart__toggle .elementor-button-icon { position: relative; font-size: 20px; line-height: 0; }
.rd-header .elementor-menu-cart__toggle .elementor-button-icon svg { width: 20px !important; height: 20px !important; }
.rd-header .elementor-menu-cart__toggle .elementor-button-icon[data-counter]::before { top: -8px; inset-inline-end: -10px; min-width: 18px; height: 18px; line-height: 18px; font-size: 11px; }
.rd-header .elementor-menu-cart__toggle .elementor-button-text { display: none; }
.rd-header .elementor-widget-search-form, .rd-header .elementor-widget-icon, .rd-header .elementor-widget-woocommerce-menu-cart { margin: 0 !important; line-height: 0; }

/* The solid search glyph reads heavier than the outline icons: draw it slightly smaller. */
.rd-header .elementor-widget-icon:has(a[href="#rd-search"]) .elementor-icon svg { width: 18px !important; height: 18px !important; }

/* ---------- Phones & tablets (hamburger menu) ----------
 *   ☰ | LOGO (centred in the space between the menu and the icons) | 🔍 👤 ♡ 🛍
 * The logo sits a little left of the screen centre, with equal breathing room on both sides of it. */
@media (max-width: 1024px) {
	.rd-header > .e-con-inner {
		display: grid !important;
		grid-template-columns: 40px minmax(0, 1fr) 40px 40px 40px 40px;
		align-items: center; column-gap: 0 !important;
	}
	.rd-header > .e-con-inner > .e-con { display: contents !important; }
	.rd-header > .e-con-inner > .elementor-element { width: auto !important; max-width: none !important; margin: 0 !important; }
	.rd-header .elementor-widget-nav-menu { grid-column: 1; grid-row: 1; justify-self: start; }
	.rd-header > .e-con-inner > .elementor-widget-image { grid-column: 2; grid-row: 1; justify-self: center; }
	.rd-header .elementor-widget-icon:has(a[href="#rd-search"]) { grid-column: 3; grid-row: 1; justify-self: center; }
	.rd-header .elementor-widget-icon:has(a[href*="my-account"]) { grid-column: 4; grid-row: 1; justify-self: center; }
	.rd-header .elementor-widget-icon:has(a[href*="wishlist"]) { grid-column: 5; grid-row: 1; justify-self: center; }
	.rd-header .elementor-widget-woocommerce-menu-cart { grid-column: 6; grid-row: 1; justify-self: center; }
	.rd-header .elementor-menu-toggle { width: 40px; height: 40px; margin: 0 !important; padding: 0; display: flex; align-items: center; justify-content: center; }
	.rd-header .elementor-menu-toggle svg, .rd-header .elementor-menu-toggle i { width: 24px; height: 24px; font-size: 24px; }
	.rd-header .elementor-nav-menu--dropdown { text-align: left; }
	.rd-header .elementor-nav-menu--dropdown a { justify-content: flex-start !important; }
}
@media (max-width: 767px) {
	.rd-header > .e-con-inner > .elementor-widget-image img { width: 84px !important; }
}

/* =========================================================================
 * Header search: bar slides down under the header, live product suggestions
 * ====================================================================== */
/* The panel is appended inside the sticky header, below its row, so it stays attached while scrolling. */
.rd-header { flex-direction: column !important; flex-wrap: nowrap !important; }
.rd-header > .e-con-inner { width: 100%; }
.rd-search {
	position: relative; width: 100%;
	max-height: 0; overflow: hidden; opacity: 0;
	transition: max-height 0.25s ease, opacity 0.2s ease;
}
.rd-search.is-open { max-height: 120px; opacity: 1; overflow: visible; }
.rd-search[hidden] { display: none; }
.rd-search__form {
	display: flex; align-items: center; gap: 10px;
	max-width: 760px; margin: 0 auto; padding: 12px 16px 14px;
	border-top: 1px solid var(--rd-line);
}
.rd-search__icon { flex: 0 0 auto; display: grid; place-items: center; color: var(--rd-maroon); }
.rd-search__field { position: relative; flex: 1; min-width: 0; }
body .rd-search__input {
	width: 100%; height: 46px; padding: 0 40px 0 18px !important;
	background: #fff !important; color: var(--rd-ink) !important;
	border: 1px solid #e3cfa6 !important; border-radius: 999px !important;
	font: 400 16px/1 var(--rd-sans) !important; /* 16px stops iPhone zooming in on focus */
	box-shadow: none !important; -webkit-appearance: none; appearance: none;
}
body .rd-search__input::placeholder { color: var(--rd-muted); }
body .rd-search__input:focus { outline: none; border-color: var(--rd-saffron) !important; box-shadow: 0 0 0 3px rgba(194, 65, 12, 0.14) !important; }
body .rd-search__input::-webkit-search-cancel-button { display: none; }
body .rd-search__clear {
	position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
	width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%;
	background: transparent; color: var(--rd-maroon); font: 400 24px/1 var(--rd-sans); cursor: pointer;
}
body .rd-search__clear:hover { background: var(--rd-bg-alt); }
body .rd-search__submit {
	flex: 0 0 auto; height: 40px; padding: 0 18px;
	background: var(--rd-maroon); color: #fff; border: 0; border-radius: 999px;
	font: 700 14px/1 var(--rd-sans); letter-spacing: 0.02em; cursor: pointer;
}
body .rd-search__submit:hover, body .rd-search__submit:focus { background: var(--rd-maroon-deep); color: #fff; }

.rd-search__results {
	position: absolute; left: 0; right: 0; top: 100%; z-index: 50;
	max-height: calc(100vh - 190px); overflow-y: auto; -webkit-overflow-scrolling: touch;
	background: var(--rd-surface); border-top: 1px solid var(--rd-line);
	box-shadow: 0 16px 32px rgba(74, 18, 18, 0.14);
}
.rd-search__results[hidden] { display: none; }
.rd-search__label { max-width: 760px; margin: 0 auto; padding: 14px 16px 6px; font: 700 13px/1.4 var(--rd-sans); letter-spacing: 0.08em; text-transform: uppercase; color: var(--rd-muted); }
.rd-search__list { list-style: none; max-width: 760px; margin: 0 auto; padding: 0 8px; }
.rd-search__item {
	display: flex; align-items: center; gap: 12px; padding: 10px 8px;
	border-bottom: 1px solid var(--rd-line); color: var(--rd-ink); text-decoration: none;
}
.rd-search__item:hover, .rd-search__item:focus { background: var(--rd-bg); color: var(--rd-ink); }
.rd-search__item img { flex: 0 0 56px; width: 56px; height: 56px; object-fit: cover; border-radius: var(--rd-radius-sm); background: var(--rd-bg-alt); }
.rd-search__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rd-search__name { font: 400 17px/1.35 var(--rd-serif); color: var(--rd-ink); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.rd-search__price { font: 400 15px/1.4 var(--rd-sans); color: var(--rd-muted); }
.rd-search__price strong { color: var(--rd-maroon); font-weight: 700; }
.rd-search__price del { margin-right: 4px; }
.rd-search__empty { max-width: 760px; margin: 0 auto; padding: 18px 16px 8px; font: 16px/1.5 var(--rd-sans); color: var(--rd-muted); }
.rd-search__all {
	display: block; max-width: 760px; margin: 0 auto; padding: 14px 16px 16px;
	font: 700 15px/1.4 var(--rd-sans); color: var(--rd-saffron); text-decoration: none;
}
.rd-search__all:hover { color: var(--rd-saffron-dark); text-decoration: underline; }
@media (max-width: 767px) {
	.rd-search__form { padding: 10px 12px 12px; gap: 8px; }
	body .rd-search__submit { padding: 0 14px; }
}

/* =========================================================================
 * Footer
 * ====================================================================== */
.rd-footer a { color: var(--rd-on-dark-muted); text-decoration: none; }
.rd-footer a:hover { color: var(--rd-gold); }
/* "body" prefix: Elementor's default list colour (maroon) would otherwise put maroon text on the maroon footer. */
body .rd-footer .elementor-icon-list-text { font-size: 16px; color: var(--rd-on-dark-muted); }
body .rd-footer .elementor-icon-list-item:hover .elementor-icon-list-text { color: var(--rd-gold); }
body .rd-product-trust .elementor-icon-list-text { color: var(--rd-ink); }
.rd-footer .elementor-icon-list-item a { display: inline-block; padding: 4px 0; }
.rd-pay p { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.rd-pay span { padding: 6px 10px; border: 1px solid rgba(255, 249, 240, 0.35); border-radius: var(--rd-radius-sm); font: 600 12px/1 var(--rd-sans); letter-spacing: 0.08em; color: var(--rd-on-dark); }
.rd-legal p { margin: 0; font-size: 14px; color: var(--rd-on-dark-muted); }
body .rd-footer-contact p { margin: 0; line-height: 2.2; }
body .rd-footer-contact a { color: var(--rd-gold); font-weight: 600; padding: 4px 0; }
body .rd-footer-contact a:hover { color: var(--rd-on-dark); }

/* =========================================================================
 * Shop by Collection
 * ====================================================================== */
.rd-collection__tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 32px; }
body .rd-collection__tab {
	min-height: 44px; padding: 8px 20px;
	background: var(--rd-surface); color: var(--rd-ink);
	border: 1px solid var(--rd-line-strong); border-radius: 999px;
	font: 600 15px/1.2 var(--rd-sans); letter-spacing: 0.01em; text-transform: none;
	cursor: pointer; transition: all 0.2s;
}
body .rd-collection__tab:hover, body .rd-collection__tab:focus { color: var(--rd-maroon); background: var(--rd-surface); border-color: var(--rd-maroon); }
body .rd-collection__tab.is-active, body .rd-collection__tab.is-active:hover { background: var(--rd-maroon); border-color: var(--rd-maroon); color: #fff; }
.rd-collection__tab:focus-visible { outline: 3px solid var(--rd-gold); outline-offset: 2px; }

.rd-collection__panel[hidden] { display: none; }
.rd-collection__track {
	display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 72px) / 4); gap: 24px;
	overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 4px 2px 8px;
}
.rd-collection__track::-webkit-scrollbar { display: none; }
.rd-collection__nav { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
body .rd-collection__arrow {
	width: 44px; height: 44px; padding: 0; border-radius: 50%;
	background: var(--rd-surface); color: var(--rd-ink); border: 1px solid var(--rd-line-strong);
	font-size: 18px; cursor: pointer;
}
body .rd-collection__arrow:hover, body .rd-collection__arrow:focus { background: var(--rd-maroon); color: #fff; border-color: var(--rd-maroon); }
.rd-collection__empty { text-align: center; font: italic 22px/1.4 var(--rd-serif); color: var(--rd-muted); padding: 48px 0; margin: 0; }
.rd-collection__more { text-align: center; margin-top: 24px; }

@media (max-width: 1024px) { .rd-collection__track { grid-auto-columns: calc((100% - 48px) / 3); } }
/* Phones: every tab visible (wraps onto two centred lines) and products as a 2×2 grid — no sideways scrolling. */
@media (max-width: 767px) {
	.rd-collection__tabs { flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 0 20px; }
	body .rd-collection__tab { flex: 0 0 auto; min-height: 40px; padding: 6px 14px; font-size: 14px; }
	.rd-collection__track {
		grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-columns: auto;
		gap: 12px; overflow: visible; scroll-snap-type: none; padding: 0;
	}
	.rd-collection__track .rd-card:nth-child(n+5) { display: none; }
	.rd-collection__nav { display: none; }
	.rd-collection__more { margin-top: 18px; }
	.rd-collection__more .rd-btn { width: 100%; }
}

/* =========================================================================
 * Product cards (home page) and WooCommerce product lists (shop, categories, related)
 * ====================================================================== */
.rd-card, .woocommerce ul.products li.product {
	background: var(--rd-surface); border: 1px solid var(--rd-line); border-radius: var(--rd-radius);
	box-shadow: var(--rd-shadow); overflow: hidden;
}
.rd-card { scroll-snap-align: start; display: flex; flex-direction: column; min-width: 0; }
.rd-card__media-wrap { position: relative; }
.rd-card__media { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: var(--rd-bg-alt); }
.rd-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.rd-card:hover .rd-card__media img { transform: scale(1.04); }
.rd-card__wish { position: absolute; top: 10px; left: 10px; z-index: 3; }
.rd-card__body { display: flex; flex-direction: column; gap: 6px; padding: 14px 14px 16px; flex: 1; }
.rd-card__title { margin: 0; font: 400 19px/1.3 var(--rd-serif); }
body .rd-card__title a { color: var(--rd-ink); text-decoration: none; }
body .rd-card__title a:hover { color: var(--rd-maroon); }
.rd-card__rating { display: flex; align-items: center; gap: 6px; font: 14px var(--rd-sans); color: var(--rd-muted); }
.rd-card__rating .star-rating { font-size: 13px; margin: 0; color: var(--rd-saffron); }
.rd-card__price { font: 700 17px/1.4 var(--rd-sans); color: var(--rd-ink); margin-top: auto; }
.rd-card__btn { width: 100%; margin-top: 8px; }
body .rd-card .added_to_cart { display: block; text-align: center; margin-top: 8px; font: 600 14px/1.4 var(--rd-sans); color: var(--rd-maroon); }

.woocommerce ul.products li.product { display: flex; flex-direction: column; padding: 0 0 14px !important; position: relative; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; color: var(--rd-ink); }
.woocommerce ul.products li.product a img { aspect-ratio: 1 / 1; object-fit: cover; margin: 0 0 12px !important; background: var(--rd-bg-alt); border-radius: 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 14px !important; margin: 0 0 6px !important; font: 400 19px/1.3 var(--rd-serif) !important; color: var(--rd-ink); }
.woocommerce ul.products li.product .star-rating { margin: 0 14px 6px; color: var(--rd-saffron); font-size: 13px; }
.woocommerce ul.products li.product .price { padding: 0 14px; margin: auto 0 10px !important; font: 700 17px/1.4 var(--rd-sans) !important; color: var(--rd-ink) !important; }
body.woocommerce ul.products li.product .button, body .woocommerce ul.products li.product .button { margin: 0 14px !important; }
.woocommerce ul.products li.product .added_to_cart { display: block; margin: 8px 14px 0; text-align: center; color: var(--rd-maroon); font: 600 14px/1.4 var(--rd-sans); }
.woocommerce-products-header__title.page-title, .woocommerce .page-title { font: 400 44px/1.15 var(--rd-serif) !important; color: var(--rd-ink); }
.woocommerce .woocommerce-ordering select { background: var(--rd-surface); border: 1px solid var(--rd-line-strong); border-radius: var(--rd-radius-sm); padding: 10px 12px; font: 15px var(--rd-sans); color: var(--rd-ink); }
.woocommerce .woocommerce-result-count { color: var(--rd-muted); }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { color: var(--rd-ink); min-width: 40px; padding: 10px; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--rd-maroon); color: #fff; }

/* Prices: struck-out old price and "12% off" */
.price del, .rd-card__price del { color: var(--rd-muted); opacity: 1 !important; font-weight: 400; font-size: 0.86em; margin-right: 6px; }
.price ins, .rd-card__price ins { text-decoration: none; }
.rd-off { display: inline-block; margin-left: 6px; color: var(--rd-green); font-family: var(--rd-sans); font-weight: 700; font-size: 0.86em; white-space: nowrap; }

.rd-products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }

@media (max-width: 1024px) { .rd-products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) {
	.rd-products { gap: 12px; }
	.rd-card__title, .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 17px !important; }
	.rd-card__body { padding: 12px; }
	.rd-card__price, .woocommerce ul.products li.product .price { font-size: 16px !important; }
	.rd-off { display: block; margin: 2px 0 0; }
	body .rd-card__btn, body.woocommerce ul.products li.product .button, body .woocommerce ul.products li.product .button {
		min-height: 44px; padding: 8px 6px !important; font-size: 13px !important; letter-spacing: 0.01em; white-space: nowrap;
	}
	body.woocommerce ul.products li.product .button, body .woocommerce ul.products li.product .button { margin: 0 10px !important; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product .price { padding-left: 10px !important; padding-right: 10px !important; }
	.woocommerce ul.products[class*="columns-"] li.product { width: 48% !important; margin-right: 4% !important; }
	.woocommerce ul.products[class*="columns-"] li.product:nth-child(2n) { margin-right: 0 !important; }
	.woocommerce ul.products[class*="columns-"] li.product:nth-child(2n+1) { clear: both; }
	.woocommerce-products-header__title.page-title, .woocommerce .page-title { font-size: 34px !important; }
}

/* Wishlist heart (cards, lists, product page). YITH renders .yith-wcwl-add-to-wishlist or .yith-add-to-wishlist-button-block. */
ul.products li.product .yith-wcwl-add-to-wishlist,
ul.products li.product .yith-add-to-wishlist-button-block { position: absolute !important; top: 10px; left: 10px; z-index: 3; margin: 0 !important; width: auto !important; }
.rd-wishlist .yith-wcwl-add-to-wishlist, .rd-wishlist .yith-add-to-wishlist-button-block { margin: 0 !important; }
.rd-wishlist a, .rd-wishlist button,
ul.products li.product .yith-wcwl-add-to-wishlist a, ul.products li.product .yith-wcwl-add-to-wishlist button,
ul.products li.product .yith-add-to-wishlist-button-block a, ul.products li.product .yith-add-to-wishlist-button-block button {
	display: grid !important; place-items: center;
	width: 40px; height: 40px; padding: 0 !important; margin: 0 !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.95) !important; border: 1px solid var(--rd-line) !important;
	box-shadow: 0 2px 10px rgba(74, 18, 18, 0.12);
	color: var(--rd-maroon) !important; font-size: 0 !important; line-height: 0 !important; text-decoration: none !important;
}
.rd-gallery .rd-wishlist a, .rd-gallery .rd-wishlist button { width: 46px; height: 46px; }
.rd-wishlist a:hover, .rd-wishlist button:hover,
ul.products li.product .yith-wcwl-add-to-wishlist a:hover,
ul.products li.product .yith-add-to-wishlist-button-block a:hover { color: #b3261e !important; }
.rd-wishlist svg, .rd-wishlist .yith-wcwl-icon-svg,
ul.products li.product .yith-wcwl-add-to-wishlist svg, ul.products li.product .yith-add-to-wishlist-button-block svg,
ul.products li.product .yith-wcwl-icon-svg { width: 20px !important; height: 20px !important; margin: 0 !important; }
.rd-wishlist a i, .rd-wishlist button i { font-size: 18px !important; margin: 0 !important; }
.rd-wishlist span:not(.yith-wcwl-icon), .rd-wishlist .feedback, .rd-wishlist .separator,
ul.products li.product .yith-wcwl-add-to-wishlist span:not(.yith-wcwl-icon),
ul.products li.product .yith-wcwl-add-to-wishlist .feedback,
ul.products li.product .yith-add-to-wishlist-button-block span:not(.yith-wcwl-icon),
.yith-wcwl-add-to-wishlist-button__label { display: none !important; }

/* =========================================================================
 * Shop by Rashi
 * ====================================================================== */
.rd-rashi { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
body .rd-rashi__item {
	display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 20px 8px 16px;
	background: var(--rd-surface); border: 1px solid var(--rd-line); border-radius: var(--rd-radius); box-shadow: var(--rd-shadow);
	text-decoration: none; color: var(--rd-ink); transition: border-color 0.2s, transform 0.2s;
}
body .rd-rashi__item:hover { border-color: var(--rd-saffron); transform: translateY(-3px); color: var(--rd-ink); }
.rd-rashi__icon {
	display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%;
	background: var(--rd-maroon-deep); color: var(--rd-gold);
	font: 28px/1 "Segoe UI Symbol", "Noto Sans Symbols 2", "Apple Symbols", serif;
}
.rd-rashi__name { font: 400 19px/1.2 var(--rd-serif); }
.rd-rashi__hindi { font: 600 13px/1.2 var(--rd-sans); color: var(--rd-maroon); }
@media (max-width: 1024px) { .rd-rashi { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 767px) {
	.rd-rashi { grid-template-columns: repeat(3, 1fr); gap: 8px; }
	body .rd-rashi__item { padding: 14px 4px 12px; }
	.rd-rashi__icon { width: 48px; height: 48px; font-size: 22px; }
	.rd-rashi__name { font-size: 16px; }
	.rd-rashi__hindi { font-size: 12px; }
}

/* =========================================================================
 * Single product
 * ====================================================================== */
.single-product .rd-product-title .elementor-heading-title { font: 400 38px/1.2 var(--rd-serif); color: var(--rd-ink); }
.single-product .rd-product-price .price { font: 700 26px/1.3 var(--rd-sans) !important; color: var(--rd-ink) !important; }
.single-product .rd-product-price .price del { font-size: 18px; }
.single-product .rd-product-price .rd-off { font-size: 18px; }
.single-product .elementor-widget-woocommerce-product-short-description { color: var(--rd-muted); font-size: 17px; }
.rd-product-trust { border-top: 1px solid var(--rd-line); border-bottom: 1px solid var(--rd-line); padding: 14px 0 !important; }
.rd-product-trust .elementor-icon-list-icon i, .rd-product-trust .elementor-icon-list-icon svg { color: var(--rd-saffron); fill: var(--rd-saffron); }
.rd-product-trust .elementor-icon-list-text { font-size: 15px; color: var(--rd-ink); }

.single-product form.cart:not(.variations_form),
.single-product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; }
/* Elementor Pro's add-to-cart widget forces nowrap; allow Buy Now to drop to its own line when space is tight. */
body.single-product .elementor-add-to-cart form.cart:not(.variations_form) { flex-wrap: wrap !important; }
/* Tablets: stack photo above details instead of two cramped columns. */
@media (max-width: 1024px) {
	body.single-product .e-con:has(> .rd-gallery) { flex-direction: column !important; }
	body.single-product .e-con:has(> .rd-gallery) > .e-con { width: 100% !important; max-width: 640px; margin: 0 auto; }
}
.single-product form.cart .quantity { margin: 0 !important; }
.single-product form.cart .quantity .qty { height: 100%; min-height: 52px; width: 72px; border: 1px solid var(--rd-line-strong); border-radius: var(--rd-radius-sm); background: var(--rd-surface); font: 600 17px var(--rd-sans); color: var(--rd-ink); }
.single-product form.cart .single_add_to_cart_button,
.single-product form.cart .rudransh-buy-now {
	flex: 1 1 150px; min-height: 52px; margin: 0 !important; padding: 12px 18px !important;
	border-radius: var(--rd-radius-sm) !important;
	font: 700 15px/1.2 var(--rd-sans) !important; letter-spacing: 0.04em !important; text-transform: uppercase; cursor: pointer;
}
.single-product form.cart .single_add_to_cart_button { background: var(--rd-surface) !important; color: var(--rd-maroon) !important; border: 2px solid var(--rd-maroon) !important; }
.single-product form.cart .single_add_to_cart_button:hover,
.single-product form.cart .single_add_to_cart_button.rd-go-to-cart { background: var(--rd-maroon) !important; color: #fff !important; }
.single-product form.cart .single_add_to_cart_button.loading { opacity: 0.7; }
.single-product form.cart .rudransh-buy-now { background: var(--rd-saffron) !important; color: #fff !important; border: 2px solid var(--rd-saffron) !important; }
.single-product form.cart .rudransh-buy-now:hover { background: var(--rd-saffron-dark) !important; border-color: var(--rd-saffron-dark) !important; }
/* Our button already becomes "Go to Cart", so WooCommerce's extra "View cart" link is redundant. */
.single-product form.cart .added_to_cart { display: none !important; }
.rd-notice { flex-basis: 100%; padding: 10px 14px; background: #fdecec; color: #8a1f1f; border-radius: var(--rd-radius-sm); font: 15px/1.4 var(--rd-sans); }
.rd-notice p { margin: 0; }

body .woocommerce-breadcrumb { color: var(--rd-muted); font-size: 15px; }
body .woocommerce-breadcrumb a { color: var(--rd-maroon); }
.rd-gallery { position: relative; }
.rd-gallery .rd-wishlist { position: absolute !important; top: 14px; right: 14px; z-index: 5; width: auto !important; }
.rd-gallery .woocommerce-product-gallery { border-radius: var(--rd-radius); overflow: hidden; background: var(--rd-surface); }
.rd-gallery .woocommerce-product-gallery__trigger { top: auto !important; bottom: 14px !important; left: 14px !important; right: auto !important; }

.single-product .woocommerce-tabs ul.tabs li a { font: 600 15px/1.4 var(--rd-sans) !important; letter-spacing: 0.04em; text-transform: uppercase; color: var(--rd-muted) !important; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--rd-maroon) !important; }
.single-product .woocommerce-tabs .panel { color: var(--rd-ink); font-size: 16px; line-height: 1.75; }
.single-product .rd-belief-note { margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--rd-line); font-size: 13px; line-height: 1.6; color: var(--rd-muted); font-style: italic; }
.single-product .woocommerce-tabs .panel ul { padding-left: 20px; }
.single-product .woocommerce-tabs .panel li { margin-bottom: 6px; }

/* Delivery check by pincode */
.rd-delivery { border: 1px solid var(--rd-line-strong); background: var(--rd-surface); border-radius: var(--rd-radius); padding: 16px; }
.rd-delivery__title { margin: 0 0 10px; font: 700 14px/1.4 var(--rd-sans); letter-spacing: 0.04em; text-transform: uppercase; color: var(--rd-maroon); }
.rd-delivery__form { display: flex; gap: 8px; margin: 0; }
.rd-delivery__input {
	flex: 1; min-width: 0; height: 48px; padding: 0 14px !important;
	background: var(--rd-bg) !important; border: 1px solid var(--rd-line-strong) !important; border-radius: var(--rd-radius-sm) !important;
	font: 600 17px/1 var(--rd-sans) !important; letter-spacing: 0.08em; color: var(--rd-ink) !important;
}
.rd-delivery__input::placeholder { color: var(--rd-muted); letter-spacing: 0.02em; font-weight: 400; }
.rd-delivery__input:focus { border-color: var(--rd-saffron) !important; outline: none; box-shadow: 0 0 0 3px rgba(194, 65, 12, 0.15); }
body .rd-delivery__btn {
	height: 48px; padding: 0 22px; cursor: pointer;
	background: var(--rd-maroon); color: #fff; border: 1px solid var(--rd-maroon); border-radius: var(--rd-radius-sm);
	font: 700 14px/1 var(--rd-sans); letter-spacing: 0.04em; text-transform: uppercase;
}
body .rd-delivery__btn:hover, body .rd-delivery__btn:focus { background: var(--rd-maroon-deep); border-color: var(--rd-maroon-deep); color: #fff; }
body .rd-delivery__btn:disabled { opacity: 0.7; cursor: wait; }
.rd-delivery__result:empty { display: none; }
.rd-delivery__result { margin-top: 12px; }
.rd-delivery__result p { margin: 0 0 4px; font: 15px/1.5 var(--rd-sans); color: var(--rd-ink); }
.rd-delivery__result .rd-delivery__ok { color: var(--rd-green); font-weight: 700; }
.rd-delivery__result .rd-delivery__eta { font-weight: 700; }
.rd-delivery__result .rd-delivery__note { color: var(--rd-muted); font-size: 14px; }
.rd-delivery__result.is-error p { color: #8a1f1f; }

/* Offers */
.rd-offers { border: 1px dashed var(--rd-saffron); background: #fff7ed; border-radius: var(--rd-radius); padding: 14px 16px; margin: 4px 0 0; }
.rd-offers__title { margin: 0 0 10px; font: 700 14px/1.4 var(--rd-sans); letter-spacing: 0.04em; text-transform: uppercase; color: var(--rd-maroon); }
.rd-offers ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.rd-offers__item { display: flex; justify-content: space-between; align-items: center; gap: 12px; font: 15px/1.4 var(--rd-sans); color: var(--rd-ink); }
body .rd-offers__code {
	flex: 0 0 auto; min-height: 36px; padding: 6px 12px; cursor: pointer;
	background: var(--rd-surface); color: var(--rd-maroon); border: 1px solid var(--rd-maroon); border-radius: var(--rd-radius-sm);
	font: 700 13px/1 var(--rd-sans); letter-spacing: 0.06em;
}
body .rd-offers__code:hover { background: var(--rd-maroon); color: #fff; }
.rd-offers__note { margin: 10px 0 0; font: 13px/1.4 var(--rd-sans); color: var(--rd-muted); }

@media (max-width: 767px) {
	.single-product .rd-product-title .elementor-heading-title { font-size: 28px; }
	.single-product .rd-product-price .price { font-size: 24px !important; }
	.single-product form.cart .quantity .qty { width: 64px; }
}

/* Sticky Add to Cart / Buy Now bar on phones (shown once the main buttons scroll out of view) */
.rd-buybar {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 9980;
	display: none; align-items: center; gap: 8px;
	padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
	background: var(--rd-surface); border-top: 1px solid var(--rd-line-strong);
	box-shadow: 0 -6px 20px rgba(74, 18, 18, 0.12);
	transform: translateY(110%); transition: transform 0.25s ease;
}
.rd-buybar.is-visible { transform: translateY(0); }
.rd-buybar__price { flex: 0 0 auto; max-width: 34%; font: 700 17px/1.2 var(--rd-sans); color: var(--rd-ink); }
.rd-buybar__price del, .rd-buybar__price .rd-off, .rd-buybar__price .screen-reader-text { display: none; }
body .rd-buybar button {
	flex: 1; min-height: 48px; padding: 8px 10px; border-radius: var(--rd-radius-sm);
	font: 700 14px/1.1 var(--rd-sans); letter-spacing: 0.03em; text-transform: uppercase; cursor: pointer;
}
body .rd-buybar__cart { background: var(--rd-surface); color: var(--rd-maroon); border: 2px solid var(--rd-maroon); }
body .rd-buybar__cart.rd-go-to-cart { background: var(--rd-maroon); color: #fff; }
body .rd-buybar__buy { background: var(--rd-saffron); color: #fff; border: 2px solid var(--rd-saffron); }
@media (max-width: 767px) {
	.rd-buybar { display: flex; }
	body.rd-buybar-on .rd-whatsapp { bottom: 88px; }
}

/* =========================================================================
 * Inner pages, forms, policy pages
 * ====================================================================== */
.rd-page-hero .elementor-widget-heading { max-width: 820px; }
body .rd-page-hero .elementor-widget-text-editor { max-width: 620px; }
.rd-contact-detail p { margin: 0; font: 700 17px/1.5 var(--rd-sans); color: var(--rd-ink); }
.rd-contact-detail a { color: var(--rd-maroon); }
.rd-form .elementor-field-group .elementor-field-label { font: 600 14px/1.4 var(--rd-sans); letter-spacing: 0.02em; color: var(--rd-ink); }
.rd-form .elementor-field-textual,
.rd-form .elementor-field-group select {
	min-height: 48px; background: var(--rd-surface) !important; border: 1px solid var(--rd-line-strong) !important; border-radius: var(--rd-radius-sm) !important;
	padding: 12px 14px !important; font: 16px/1.5 var(--rd-sans) !important; color: var(--rd-ink) !important;
}
.rd-form .elementor-field-textual::placeholder { color: var(--rd-muted); }
.rd-form .elementor-field-textual:focus { border-color: var(--rd-saffron) !important; outline: none; box-shadow: 0 0 0 3px rgba(194, 65, 12, 0.15); }

body.rd-policy .site-main { max-width: 820px; margin: 0 auto; padding: 56px 20px 88px; }
body.rd-policy .site-main h2 { font: 400 26px/1.3 var(--rd-serif); color: var(--rd-maroon); margin: 32px 0 8px; }
body.rd-policy .site-main p { font: 17px/1.8 var(--rd-sans); color: var(--rd-ink); }
body.rd-policy .site-main p a { color: var(--rd-maroon); text-decoration: underline; }
body.rd-policy .site-main ul, .rd-modal__body ul { margin: 0 0 16px; padding-left: 22px; }
body.rd-policy .site-main li, .rd-modal__body li { margin: 0 0 8px; font: 17px/1.7 var(--rd-sans); color: var(--rd-ink); }
.rd-modal__body li { font-size: 15px; }
body.rd-policy .site-main li::marker, .rd-modal__body li::marker { color: var(--rd-saffron); }
body.rd-policy .site-main li a, .rd-modal__body li a { color: var(--rd-maroon); text-decoration: underline; }
body.rd-policy .site-main h2[id] { scroll-margin-top: 110px; }
body .rd-legal p { line-height: 1.7; }

/* Titles on plain pages (policies, cart, checkout, account, wishlist) */
body.page:not(.elementor-page) .site-main .entry-title { font: 400 44px/1.15 var(--rd-serif); color: var(--rd-ink); margin: 0 0 20px; }
@media (max-width: 767px) {
	body.rd-policy .site-main { padding: 32px 16px 64px; }
	body.page:not(.elementor-page) .site-main .entry-title { font-size: 32px; margin-bottom: 16px; }
	body.woocommerce-cart .site-main, body.woocommerce-checkout .site-main, body.woocommerce-account .site-main { padding: 24px 16px 56px; }
}

/* =========================================================================
 * Cart, checkout, account, wishlist (WooCommerce blocks + classic)
 * ====================================================================== */
body .wc-block-components-button:not(.is-link),
body .wc-block-cart__submit-button,
body .wc-block-components-checkout-place-order-button,
body.woocommerce-page a.button, body.woocommerce-page button.button, body.woocommerce-page input.button,
body .woocommerce a.button, body .woocommerce button.button {
	background: var(--rd-saffron) !important; color: #fff !important; border: 0 !important;
	border-radius: var(--rd-radius-sm) !important; min-height: 52px; padding: 12px 22px !important;
	font: 700 16px/1.2 var(--rd-sans) !important; letter-spacing: 0.03em; text-transform: uppercase; text-decoration: none !important;
	box-shadow: none !important;
}
body .wc-block-components-button:not(.is-link):hover,
body .wc-block-cart__submit-button:hover,
body .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-page a.button:hover, body.woocommerce-page button.button:hover,
body .woocommerce a.button:hover, body .woocommerce button.button:hover { background: var(--rd-saffron-dark) !important; color: #fff !important; }
body .wc-block-components-button:not(.is-link) .wc-block-components-button__text { color: #fff; text-decoration: none; }
body .wc-block-components-product-name { color: var(--rd-ink) !important; font: 400 18px/1.3 var(--rd-serif) !important; text-decoration: none !important; }
body .wc-block-components-product-metadata { color: var(--rd-muted); font-size: 14px; }
body .wc-block-components-sale-badge { color: var(--rd-green) !important; background: #eaf5ee !important; border: 0 !important; border-radius: 4px; font-weight: 700; }
body .wc-block-components-title, body .wc-block-components-checkout-step__title { font: 400 24px/1.3 var(--rd-serif) !important; color: var(--rd-ink) !important; }
body .wc-block-components-text-input input,
body .wc-block-components-text-input textarea,
body .wc-blocks-components-select .wc-blocks-components-select__select,
body .wc-block-components-combobox .wc-block-components-combobox-control input {
	background: var(--rd-surface) !important; border: 1px solid var(--rd-line-strong) !important; border-radius: var(--rd-radius-sm) !important; color: var(--rd-ink) !important; font-family: var(--rd-sans) !important;
}
body .wc-block-components-text-input input:focus,
body .wc-blocks-components-select .wc-blocks-components-select__select:focus { border-color: var(--rd-saffron) !important; box-shadow: 0 0 0 3px rgba(194, 65, 12, 0.15) !important; }
body .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font: 700 20px/1.3 var(--rd-sans) !important; color: var(--rd-ink); }
body .wc-block-components-quantity-selector { border-radius: var(--rd-radius-sm); border-color: var(--rd-line-strong); }
body .wc-block-components-quantity-selector button { min-width: 40px; color: var(--rd-maroon); }
body .wc-block-cart-item__remove-link { color: var(--rd-muted) !important; min-width: 40px; min-height: 40px; }
body .wc-block-components-notice-banner { border-radius: var(--rd-radius-sm); font-size: 15px; }
/* Hello's "alignwide" gives the cart/checkout blocks a negative side margin that pushes the totals off-screen on phones. */
body .wp-block-woocommerce-cart.alignwide,
body .wp-block-woocommerce-checkout.alignwide { margin-left: 0 !important; margin-right: 0 !important; max-width: 100%; }
/* WooCommerce blocks print some details at ~11px; keep everything readable. */
body .wc-block-components-product-price,
body .wc-block-components-product-price__regular,
body .wc-block-components-product-metadata,
body .wc-block-components-product-metadata__description,
body .wc-block-components-sale-badge,
body .wc-block-components-order-summary-item__description,
body .wc-block-components-order-summary-item__individual-prices,
body .wc-block-components-checkout-step__description,
body .wc-block-checkout__terms,
body .wc-block-components-totals-item__description,
body .wc-block-components-product-metadata__description p { font-size: 14px !important; line-height: 1.45 !important; }
/* "% off" is sized relative to the price; never let it drop below 13px (e.g. inside the wishlist table). */
.rd-off { font-size: max(0.86em, 13px); }
body .wc-block-components-quantity-selector button { min-width: 40px; min-height: 40px; }
body .wc-block-components-product-name { display: inline-block; padding: 2px 0; }
/* The cart line-items table sizes itself to its content; lock it to the available width so prices stay on screen. */
body table.wc-block-cart-items { width: 100% !important; max-width: 100%; table-layout: fixed; }
body table.wc-block-cart-items .wc-block-cart-items__row { max-width: 100%; }
body .wc-block-cart-item__product { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 767px) {
	body table.wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 72px minmax(0, 1fr) auto !important; column-gap: 12px; }
	body .wc-block-cart-item__image img { width: 72px; }
	body .wc-block-cart-item__total { min-width: 0; }
	body .wc-block-cart-item__total .wc-block-components-sale-badge { white-space: nowrap; }
}

/* Wishlist "Add to cart" (YITH's link has no .button class, so style it directly — all screen sizes). */
body .wishlist_table td.product-add-to-cart a {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 18px !important;
	background: var(--rd-saffron) !important; color: #fff !important; border: 0; border-radius: var(--rd-radius-sm);
	font: 700 14px/1.2 var(--rd-sans); letter-spacing: 0.03em; text-transform: uppercase; text-decoration: none !important; white-space: nowrap;
}
body .wishlist_table td.product-add-to-cart a:hover { background: var(--rd-saffron-dark) !important; }
body .wishlist_table td.product-name a { color: var(--rd-ink); }

/* Wishlist: on phones the 6-column table becomes one card per product. */
@media (max-width: 767px) {
	body .wishlist_table, body .wishlist_table tbody { display: block; width: 100%; border: 0; }
	body .wishlist_table thead { display: none; }
	body .wishlist_table tr {
		position: relative; display: grid; grid-template-columns: 88px 1fr; column-gap: 12px; row-gap: 4px;
		padding: 14px; margin: 0 0 12px; background: var(--rd-surface);
		border: 1px solid var(--rd-line); border-radius: var(--rd-radius); box-shadow: var(--rd-shadow);
	}
	body .wishlist_table td { display: block; padding: 0 !important; border: 0 !important; text-align: left !important; width: auto !important; }
	body .wishlist_table td.product-thumbnail { grid-column: 1; grid-row: 1 / span 3; }
	body .wishlist_table td.product-thumbnail img { width: 88px !important; height: 88px; object-fit: cover; border-radius: var(--rd-radius-sm); }
	body .wishlist_table td.product-name,
	body .wishlist_table td.product-price,
	body .wishlist_table td.product-stock-status { grid-column: 2; padding-right: 36px !important; }
	body .wishlist_table td.product-name a { font: 400 18px/1.35 var(--rd-serif); color: var(--rd-ink); text-decoration: none; }
	body .wishlist_table td.product-price { font: 700 16px/1.4 var(--rd-sans); }
	body .wishlist_table td.product-stock-status { font-size: 14px; color: var(--rd-green); }
	body .wishlist_table td.product-add-to-cart { grid-column: 1 / -1; margin-top: 10px; }
	body .wishlist_table td.product-add-to-cart a { display: flex !important; width: 100%; }
	body .wishlist_table td.product-remove { position: absolute; top: 8px; right: 8px; }
	body .wishlist_table td.product-remove a.remove {
		display: grid !important; place-items: center; width: 36px; height: 36px; border-radius: 50%;
		font-size: 22px !important; line-height: 1 !important; color: var(--rd-maroon) !important; background: var(--rd-bg-alt) !important;
	}
	body .wishlist_table td.wishlist-empty { grid-column: 1 / -1; text-align: center !important; }
}

/* Breadcrumb: WooCommerce's own grey (#767676) beats plain selectors, so be explicit. */
body .woocommerce-breadcrumb, body.woocommerce .woocommerce-breadcrumb, body .woocommerce .woocommerce-breadcrumb { color: var(--rd-muted) !important; font-size: 15px; line-height: 1.6; }
body .woocommerce-breadcrumb a, body.woocommerce .woocommerce-breadcrumb a { color: var(--rd-maroon) !important; display: inline-block; padding: 6px 0; }
/* Product page: tags are internal keywords ("5", "Lord Shivs") — show only the category. */
.single-product .product_meta .tagged_as { display: none !important; }
.single-product .product_meta { font-size: 15px; color: var(--rd-muted); }
.single-product .product_meta a { color: var(--rd-maroon); display: inline-block; padding: 6px 0; }
/* FAQ accordions: make the whole question row the tap target. */
.rd-faq .elementor-tab-title a, .rd-faq .elementor-accordion-title { display: block; }

/* My Account: Login and Register as two matching cards (side by side on desktop, stacked on phones). */
body.woocommerce-account #customer_login { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 8px; }
body.woocommerce-account #customer_login::before, body.woocommerce-account #customer_login::after { display: none; }
body.woocommerce-account #customer_login > .u-column1,
body.woocommerce-account #customer_login > .u-column2 {
	float: none; width: auto; margin: 0;
	background: var(--rd-surface); border: 1px solid var(--rd-line); border-radius: var(--rd-radius);
	box-shadow: var(--rd-shadow); padding: 24px;
}
body.woocommerce-account #customer_login h2 { font: 400 26px/1.35 var(--rd-serif); color: var(--rd-ink); margin: 0 0 4px; }
body.woocommerce-account #customer_login h2 + form { margin-top: 12px; }
body.woocommerce-account #customer_login form.login,
body.woocommerce-account #customer_login form.register { border: 0; padding: 0; margin: 0; }
body.woocommerce-account #customer_login label { font: 600 14px/1.4 var(--rd-sans); color: var(--rd-ink); }
body.woocommerce-account #customer_login .woocommerce-form-row { margin: 0 0 14px; padding: 0; }
body.woocommerce-account #customer_login input.input-text { width: 100%; font-size: 16px; }
body.woocommerce-account #customer_login .woocommerce-button { width: 100%; margin-top: 4px; }
body.woocommerce-account #customer_login .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-weight: 400; }
body.woocommerce-account #customer_login .lost_password { margin: 12px 0 0; }
body.woocommerce-account #customer_login .lost_password a,
body.woocommerce-account .woocommerce-privacy-policy-text a { color: var(--rd-maroon); }
body.woocommerce-account .woocommerce-privacy-policy-text p { font-size: 14px; color: var(--rd-muted); line-height: 1.6; }
body.woocommerce-account #customer_login .rd-account-intro { margin: 0 0 4px; font-size: 15px; color: var(--rd-muted); }
body .woocommerce-password-strength { border-radius: var(--rd-radius-sm); font-size: 14px; }
body.woocommerce-account .rd-account-switch {
	margin: 0 0 16px; padding: 10px 14px; border-radius: var(--rd-radius-sm);
	background: var(--rd-bg-alt); font-size: 15px; color: var(--rd-ink);
}
body.woocommerce-account .rd-account-switch a { color: var(--rd-saffron); font-weight: 700; text-decoration: none; }
body.woocommerce-account #rd-register { scroll-margin-top: 110px; }
/* Desktop shows both cards side by side, so the shortcut is only needed on phones. */
@media (min-width: 768px) { body.woocommerce-account .rd-account-switch { display: none; } }
html { scroll-behavior: smooth; }

/* Register form extras: opt-in checkbox, "By continuing…" line, privacy link at the page bottom */
body.woocommerce-account .rd-optin { margin: 2px 0 8px; }
/* Smaller than the form text, but kept at 12px — the smallest size that stays readable on phones. */
body.woocommerce-account .rd-optin label { display: flex; align-items: center; gap: 8px; font: 400 12px/1.4 var(--rd-sans) !important; color: var(--rd-muted); cursor: pointer; }
body.woocommerce-account .rd-optin input[type="checkbox"] { width: 15px; height: 15px; margin: 0; accent-color: var(--rd-saffron); flex: 0 0 auto; }

/* Sign-up step 3: Complete your profile */
body.woocommerce-account form.register.rd-profile-active > .woocommerce-form-row,
body.woocommerce-account form.register.rd-profile-active > .form-row:has(button[name="register"]),
body.woocommerce-account form.register.rd-profile-active > .rd-optin,
body.woocommerce-account form.register.rd-profile-active > .rd-terms-note,
body.woocommerce-account form.register.rd-profile-active > .rd-account-intro,
body.woocommerce-account form.register.rd-profile-active > .rd-otp,
body.woocommerce-account form.register.rd-profile-active > .rd-otp__form-msg { display: none !important; }
.rd-profile[hidden] { display: none; }
.rd-profile__title { margin: 0 0 4px; font: 400 22px/1.35 var(--rd-serif); color: var(--rd-ink); }
.rd-profile__intro { margin: 0 0 16px; padding: 10px 14px; border-radius: var(--rd-radius-sm); background: #eaf5ee; color: var(--rd-green); font-size: 14px; line-height: 1.5; }
.rd-profile__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
body .rd-profile .rd-profile__field { margin: 0 0 14px !important; padding: 0 !important; width: auto !important; float: none !important; }
body .rd-profile label { display: block; margin: 0 0 6px; font: 600 14px/1.4 var(--rd-sans); color: var(--rd-ink); }
body .rd-profile input.input-text { width: 100%; min-height: 48px; font-size: 16px; }
body .rd-profile input.rd-invalid { border-color: #c0392b !important; box-shadow: 0 0 0 3px rgba(192, 57, 43, 0.12) !important; }
.rd-phone { display: flex; align-items: stretch; }
.rd-phone__cc {
	display: grid; place-items: center; padding: 0 12px;
	border: 1px solid var(--rd-line-strong); border-right: 0; border-radius: var(--rd-radius-sm) 0 0 var(--rd-radius-sm);
	background: var(--rd-bg-alt); color: var(--rd-ink); font: 600 16px/1 var(--rd-sans);
}
body .rd-phone input.input-text { border-radius: 0 var(--rd-radius-sm) var(--rd-radius-sm) 0 !important; letter-spacing: 0.04em; }
.rd-profile__msg { margin: 0 0 10px; font-size: 14px; color: #8a1f1f; }
.rd-profile__msg:empty { display: none; }
body .rd-profile__submit { width: 100%; }
@media (max-width: 480px) { .rd-profile__row { grid-template-columns: 1fr; gap: 0; } }

/* Red star on required fields — sign-up profile, account forms and checkout */
.rd-req { color: #c0392b; font-weight: 700; }
body .woocommerce form .form-row .required, body .woocommerce form .form-row abbr.required { color: #c0392b; text-decoration: none; border: 0; font-weight: 700; }
body .wc-block-components-text-input input:required + label::after,
body .wc-block-components-text-input input[aria-required="true"] + label::after,
body .wc-block-components-text-input textarea:required + label::after { content: " *"; color: #c0392b; font-weight: 700; }
body .wc-blocks-components-select__container:has(select[id$="-state"]) label::after,
body .wc-blocks-components-select__container:has(select[id$="-country"]) label::after { content: " *"; color: #c0392b; font-weight: 700; }
body.woocommerce-account .rd-terms-note { margin: 0 0 14px; font-size: 13px; line-height: 1.5; color: var(--rd-muted); }
body.woocommerce-account .rd-terms-note a,
body.woocommerce-account .rd-privacy-note a { color: var(--rd-maroon); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
body.woocommerce-account .rd-privacy-note { margin: 28px 0 0; text-align: center; font-size: 13px; line-height: 1.5; color: var(--rd-muted); }

/* Register: email verification code step */
body.woocommerce-account form.register.rd-otp-active > .woocommerce-form-row,
body.woocommerce-account form.register.rd-otp-active > .form-row:has(button[name="register"]),
body.woocommerce-account form.register.rd-otp-active .rd-optin,
body.woocommerce-account form.register.rd-otp-active .rd-terms-note,
body.woocommerce-account form.register.rd-otp-active .rd-otp__form-msg { display: none !important; }
.rd-otp[hidden] { display: none; }
.rd-otp__intro { margin: 0 0 14px; padding: 12px 14px; border-radius: var(--rd-radius-sm); background: var(--rd-bg-alt); font-size: 15px; line-height: 1.55; color: var(--rd-ink); }
.rd-otp__label { display: block; margin: 0 0 6px; font: 600 14px/1.4 var(--rd-sans); color: var(--rd-ink); }
body .rd-otp__code {
	width: 100%; height: 56px; text-align: center;
	font: 700 26px/1 var(--rd-sans) !important; letter-spacing: 0.5em; padding: 0 0 0 0.5em !important;
	border: 1px solid var(--rd-line-strong) !important; border-radius: var(--rd-radius-sm) !important; background: #fff !important; color: var(--rd-ink) !important;
}
body .rd-otp__code:focus { border-color: var(--rd-saffron) !important; box-shadow: 0 0 0 3px rgba(194, 65, 12, 0.15) !important; outline: none; }
.rd-otp__msg { min-height: 0; margin: 8px 0 10px; font-size: 14px; line-height: 1.45; color: #8a1f1f; }
.rd-otp__msg:empty { display: none; }
.rd-otp__msg.is-ok { color: var(--rd-green); }
body .rd-otp__verify { width: 100%; }
.rd-otp__links { margin: 12px 0 0; text-align: center; font-size: 14px; color: var(--rd-muted); }
body .rd-otp__link { padding: 8px 4px; border: 0; background: none; color: var(--rd-maroon); font: 600 14px/1.2 var(--rd-sans); text-decoration: underline; cursor: pointer; }
body .rd-otp__link:disabled { color: var(--rd-muted); text-decoration: none; cursor: default; }
body .rd-otp__link:hover:not(:disabled) { background: none; color: var(--rd-maroon-deep); }

/* Popup (Terms of Service) */
.rd-modal {
	width: min(680px, calc(100vw - 32px)); max-height: min(80vh, 720px);
	padding: 0; border: 0; border-radius: var(--rd-radius);
	background: var(--rd-surface); color: var(--rd-ink);
	box-shadow: 0 24px 60px rgba(46, 10, 10, 0.3);
	display: none; flex-direction: column; overflow: hidden;
}
.rd-modal[open] { display: flex; }
.rd-modal::backdrop { background: rgba(43, 26, 18, 0.55); }
.rd-modal__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--rd-line); }
body .rd-modal .rd-modal__head h2 { margin: 0; font: 400 24px/1.35 var(--rd-serif) !important; color: var(--rd-ink); }
/* The site-wide heading sizes (h2 = 42px) must not apply inside the popup. */
body .rd-modal .rd-modal__body h2 { font: 400 19px/1.35 var(--rd-serif) !important; color: var(--rd-maroon) !important; margin: 18px 0 6px !important; }
body .rd-modal__close {
	width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%;
	background: var(--rd-bg-alt); color: var(--rd-maroon); font: 400 26px/1 var(--rd-sans); cursor: pointer;
}
body .rd-modal__close:hover { background: var(--rd-bg-alt-2); color: var(--rd-maroon); }
.rd-modal__body { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 8px 20px 16px; }
.rd-modal__body h2 { font: 400 20px/1.35 var(--rd-serif); color: var(--rd-maroon); margin: 20px 0 6px; }
.rd-modal__body p { font: 15px/1.7 var(--rd-sans); color: var(--rd-ink); margin: 0 0 10px; }
.rd-modal__body a { color: var(--rd-maroon); }
.rd-modal__foot { padding: 12px 20px 16px; border-top: 1px solid var(--rd-line); }
.rd-modal__foot .rd-btn { width: 100%; }
body.rd-modal-open { overflow: hidden; }
@media (max-width: 767px) {
	.rd-modal { width: 100vw; max-width: 100vw; max-height: 88vh; margin: auto 0 0; border-radius: 16px 16px 0 0; }
}
@media (max-width: 767px) {
	body.woocommerce-account #customer_login { grid-template-columns: 1fr; gap: 16px; }
	body.woocommerce-account #customer_login > .u-column1,
	body.woocommerce-account #customer_login > .u-column2 { padding: 20px 16px; }
}

body .woocommerce form .form-row input.input-text, body .woocommerce form .form-row select { min-height: 48px; border: 1px solid var(--rd-line-strong); border-radius: var(--rd-radius-sm); padding: 10px 12px; background: var(--rd-surface); }

/* FAQ tab on product pages */
.rudransh-faq details { border-bottom: 1px solid var(--rd-line-strong); padding: 14px 0; }
.rudransh-faq summary { cursor: pointer; font: 400 19px/1.35 var(--rd-serif); color: var(--rd-ink); list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.rudransh-faq summary::-webkit-details-marker { display: none; }
.rudransh-faq summary::after { content: "+"; color: var(--rd-saffron); font: 700 20px var(--rd-sans); }
.rudransh-faq details[open] summary::after { content: "–"; }
.rudransh-faq p { margin: 10px 0 0; font: 16px/1.75 var(--rd-sans); color: var(--rd-muted); }

/* =========================================================================
 * Floating WhatsApp button
 * ====================================================================== */
.rd-whatsapp {
	position: fixed; right: 20px; bottom: 20px; z-index: 9990;
	display: flex; align-items: center; justify-content: center;
	width: 56px; height: 56px; border-radius: 50%;
	background: var(--rd-green); color: #fff !important;
	box-shadow: 0 8px 24px rgba(31, 122, 69, 0.35);
	text-decoration: none !important;
	transition: transform 0.2s ease, background 0.2s ease, bottom 0.25s ease;
}
.rd-whatsapp:hover, .rd-whatsapp:focus-visible { transform: translateY(-2px) scale(1.04); background: #17613a; color: #fff !important; }
.rd-whatsapp:focus-visible { outline: 3px solid var(--rd-gold); outline-offset: 3px; }
.rd-whatsapp__label {
	position: absolute; right: 66px; top: 50%; transform: translateY(-50%);
	padding: 8px 12px; white-space: nowrap; border-radius: var(--rd-radius-sm);
	background: var(--rd-maroon-deep); color: var(--rd-on-dark);
	font: 600 14px/1 var(--rd-sans);
	opacity: 0; pointer-events: none; transition: opacity 0.2s ease;
}
.rd-whatsapp:hover .rd-whatsapp__label, .rd-whatsapp:focus-visible .rd-whatsapp__label { opacity: 1; }
@media (max-width: 767px) { .rd-whatsapp { right: 14px; bottom: 16px; width: 52px; height: 52px; } .rd-whatsapp__label { display: none; } }

/* =========================================================================
 * Mobile-first layout for Elementor sections (phones ≤ 767px)
 * ====================================================================== */
@media (max-width: 767px) {
	.elementor-widget-text-editor { font-size: 16px; }
	.rd-lead p { font-size: 17px; }
	body .rd-hero .elementor-button-wrapper, body .rd-hero .elementor-widget-button { width: 100%; }
	body .rd-hero .elementor-button { width: 100%; }
	body .elementor-widget-button.rd-el-btn { width: 100%; }
	body .elementor-widget-button.rd-el-btn .elementor-button { width: 100%; }

	/* Tighter vertical rhythm: sections are the main cause of long pages on phones */
	[data-elementor-type="wp-page"] > .e-con:not(.rd-hero):not(.rd-reviews-section) { padding-top: 44px !important; padding-bottom: 44px !important; }
	[data-elementor-type="wp-page"] > .e-con:not(.rd-hero) > .e-con-inner { padding-top: 0 !important; padding-bottom: 0 !important; }
	[data-elementor-type="wp-page"] > .e-con.rd-hero > .e-con-inner { padding-top: 48px !important; padding-bottom: 48px !important; }
	[data-elementor-type="wp-page"] > .e-con.rd-page-hero { padding-top: 40px !important; padding-bottom: 36px !important; }

	/* Photos in story sections: shorter, cropped landscape so text is reached sooner.
	 * The image widget must never shrink below its photo — otherwise the flex layout collapses the
	 * widget (to ~27px) while the photo keeps its height, and the caption / next section is drawn on top of it. */
	[data-elementor-type="wp-page"] .e-con > .elementor-widget,
	[data-elementor-type="wp-page"] .e-con-inner > .elementor-widget { flex-shrink: 0 !important; }
	[data-elementor-type="wp-page"] .elementor-widget-image { height: auto !important; min-height: 0; }
	[data-elementor-type="wp-page"] .elementor-widget-image img { display: block; width: 100%; height: 240px !important; max-height: none; object-fit: cover; }
	/* Two photos side by side (craftsmanship): portrait crop reads better than a thin strip. */
	[data-elementor-type="wp-page"] .e-con:has(> .e-con > .elementor-widget-image + .rd-caption) .elementor-widget-image img { height: 200px !important; }

	/* Trust bar: icon beside text, 2 columns, last item full width */
	.rd-trust .elementor-icon-box-wrapper { display: flex !important; flex-direction: row !important; align-items: flex-start; gap: 10px; text-align: left !important; }
	.rd-trust .elementor-icon-box-icon { margin: 2px 0 0 !important; flex: 0 0 auto; }
	.rd-trust .elementor-icon { font-size: 20px; }
	.rd-trust .elementor-icon svg { width: 20px; height: 20px; }
	.rd-trust .elementor-icon-box-title { margin: 0 0 2px !important; font-size: 13px !important; }
	.rd-trust .elementor-icon-box-description { font-size: 13px; }
	.e-grid > .rd-trust:last-child { grid-column: 1 / -1; }

	/* Numbered cards (Five steps, Styles, Values, How to identify): number beside title, text below */
	.rd-step.e-con, .rd-style-card.e-con {
		display: grid !important; grid-template-columns: 44px 1fr; column-gap: 12px; row-gap: 4px; align-items: start;
	}
	.rd-step.e-con > .rd-num, .rd-style-card.e-con > .rd-num { grid-row: 1 / span 2; }
	.rd-step.e-con > :not(.rd-num), .rd-style-card.e-con > :not(.rd-num) { grid-column: 2; }
	.rd-style-card.e-con:not(:has(> .rd-num)) { grid-template-columns: 1fr; }
	.rd-style-card.e-con:not(:has(> .rd-num)) > * { grid-column: 1; }
	.rd-num p { font-size: 30px; }
	.rd-step { padding-top: 16px !important; }
	.rd-style-card { padding: 16px !important; }
	.rd-card-title .elementor-heading-title { font-size: 21px; }
	.rd-kicker .elementor-heading-title { font-size: 15px; }
	.e-grid:has(> .rd-step), .e-grid:has(> .rd-style-card) { --gap: 12px 12px; row-gap: 12px !important; margin-top: 20px !important; }

	/* FAQ: comfortable tap rows */
	.rd-faq .elementor-tab-title { padding: 16px 0 !important; font-size: 18px !important; }

	/* Footer: brand full width, link lists in two columns, bigger tap rows */
	.rd-footer .e-grid { grid-template-columns: 1fr 1fr !important; column-gap: 20px !important; row-gap: 28px !important; }
	.rd-footer .e-grid > .e-con:first-child { grid-column: 1 / -1; }
	.rd-footer .e-grid > .e-con:last-child { grid-column: 1 / -1; }
	body .rd-footer .elementor-icon-list-item a { padding: 9px 0; }
	body .rd-footer .elementor-icon-list-text { font-size: 15px; }
	[data-elementor-type="footer"] > .e-con { padding-top: 48px !important; }

	/* Header: bigger cart tap area */
	.rd-header .elementor-menu-cart__toggle .elementor-button { min-width: 40px; min-height: 40px; justify-content: center; }
}

/* Empty notices box on product pages adds a gap above the gallery */
.elementor-widget-woocommerce-notices:not(:has(.woocommerce-message, .woocommerce-error, .woocommerce-info, .wc-block-components-notice-banner)) { display: none; }

/* State locked to the pincode (set by store.js once the pincode is recognised) */
body.rd-lock-shipping-state #shipping .wc-block-components-address-form__state,
body.rd-lock-billing-state #billing .wc-block-components-address-form__state,
body.rd-lock-shipping-state #shipping_state_field,
body.rd-lock-billing-state #billing_state_field{pointer-events:none}
body.rd-lock-shipping-state #shipping-state,
body.rd-lock-billing-state #billing-state,
body.rd-lock-shipping-state #shipping_state_field .select2-selection,
body.rd-lock-billing-state #billing_state_field .select2-selection,
body.rd-lock-shipping-state #shipping_state,
body.rd-lock-billing-state #billing_state{background:#F6E3C8 !important;color:#5E4535 !important}
body.rd-lock-shipping-state #shipping .wc-block-components-address-form__state svg,
body.rd-lock-billing-state #billing .wc-block-components-address-form__state svg,
body.rd-lock-shipping-state #shipping_state_field .select2-selection__arrow,
body.rd-lock-billing-state #billing_state_field .select2-selection__arrow{display:none}
/* =========================================================================
 * My Account (logged in): sidebar menu, dashboard, orders, addresses, forms
 * ====================================================================== */
body.woocommerce-account.logged-in .site-main { max-width: 1140px; }
body.woocommerce-account.logged-in .page-content > .woocommerce {
	display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 36px; align-items: start;
}
body.woocommerce-account.logged-in .page-content > .woocommerce::before,
body.woocommerce-account.logged-in .page-content > .woocommerce::after { display: none; }
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; margin: 0; }

/* Menu */
body.woocommerce-account .woocommerce-MyAccount-navigation {
	position: sticky; top: 110px; background: var(--rd-surface); border: 1px solid var(--rd-line);
	border-radius: 14px; padding: 10px; box-shadow: var(--rd-shadow);
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
body.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; border: 0; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-radius: 10px; border: 0;
	color: var(--rd-ink); font: 500 16px/1.3 var(--rd-sans); text-decoration: none; transition: background .15s, color .15s;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li a::before {
	content: ""; flex: 0 0 20px; width: 20px; height: 20px; background: currentColor; opacity: .75;
	-webkit-mask: var(--rd-ico) center / contain no-repeat; mask: var(--rd-ico) center / contain no-repeat;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--rd-bg); color: var(--rd-maroon); }
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--rd-bg-alt); color: var(--rd-maroon); font-weight: 700; box-shadow: inset 3px 0 0 var(--rd-maroon);
}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::before { opacity: 1; }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 6px !important; padding-top: 6px !important; border-top: 1px solid var(--rd-line) !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--rd-muted); }

.woocommerce-MyAccount-navigation-link--dashboard { --rd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11l8-7 8 7v9h-5v-6H9v6H4z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--orders { --rd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h12l-1 13H7L6 7z'/%3E%3Cpath d='M9 7V6a3 3 0 0 1 6 0v1'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--rd-wishlist { --rd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-address { --rd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6-5.3-6-11a6 6 0 0 1 12 0c0 5.7-6 11-6 11z'/%3E%3Ccircle cx='12' cy='10' r='2.2'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-account { --rd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.6'/%3E%3Cpath d='M5 20c.8-3.6 3.6-5.5 7-5.5s6.2 1.9 7 5.5'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--customer-logout { --rd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h5v16h-5M10 8l-4 4 4 4M6 12h10'/%3E%3C/svg%3E"); }

/* Content headings */
body.woocommerce-account .woocommerce-MyAccount-content { min-width: 0; font-size: 16px; }
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 { font: 400 24px/1.35 var(--rd-serif); color: var(--rd-ink); margin: 0 0 14px; }
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.rd-acct-tile):not(.rd-acct-order) { color: var(--rd-maroon); }

/* Dashboard */
.rd-acct { display: grid; gap: 20px; }
.rd-acct-hello {
	display: flex; align-items: center; gap: 18px; padding: 26px 28px; border-radius: 16px; color: var(--rd-on-dark);
	background: radial-gradient(120% 140% at 100% 0%, #7b1e1e 0%, var(--rd-maroon-deep) 60%);
	position: relative; overflow: hidden;
}
.rd-acct-hello::after {
	content: ""; position: absolute; right: -40px; top: -40px; width: 200px; height: 200px; border-radius: 50%;
	border: 1px solid rgba(242, 193, 78, .25); box-shadow: 0 0 0 22px rgba(242, 193, 78, .06), 0 0 0 46px rgba(242, 193, 78, .04);
}
.rd-acct-avatar {
	flex: 0 0 64px; width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center;
	background: var(--rd-gold); color: var(--rd-maroon-deep); font: 700 22px/1 var(--rd-sans); letter-spacing: .04em;
	box-shadow: 0 0 0 4px rgba(242, 193, 78, .25);
}
.rd-acct-hello__text { min-width: 0; position: relative; z-index: 1; }
.rd-acct-eyebrow { margin: 0; color: var(--rd-gold); font: 600 13px/1.4 var(--rd-sans); letter-spacing: .14em; text-transform: uppercase; }
body.woocommerce-account .woocommerce-MyAccount-content h2.rd-acct-name { margin: 2px 0 4px; font: 400 30px/1.35 var(--rd-serif); color: var(--rd-on-dark); overflow-wrap: anywhere; }
.rd-acct-meta { margin: 0; color: var(--rd-on-dark-muted); font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }

.rd-acct-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
body.woocommerce-account a.rd-acct-tile {
	display: flex; align-items: center; gap: 14px; padding: 18px; background: var(--rd-surface); color: var(--rd-ink);
	border: 1px solid var(--rd-line); border-radius: 14px; text-decoration: none; transition: border-color .15s, box-shadow .15s, transform .15s;
}
body.woocommerce-account a.rd-acct-tile:hover { border-color: rgba(123, 30, 30, .35); box-shadow: var(--rd-shadow); transform: translateY(-1px); }
.rd-acct-tile__icon { flex: 0 0 46px; width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; background: var(--rd-bg-alt); color: var(--rd-maroon); }
.rd-acct-tile__text { flex: 1; min-width: 0; display: grid; }
.rd-acct-tile__text strong { font: 600 17px/1.3 var(--rd-sans); color: var(--rd-ink); }
.rd-acct-tile__text span { font-size: 14px; line-height: 1.4; color: var(--rd-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rd-acct-tile__go { color: var(--rd-muted); display: flex; transition: transform .15s; }
a.rd-acct-tile:hover .rd-acct-tile__go { transform: translateX(3px); color: var(--rd-maroon); }

.rd-acct-card { background: var(--rd-surface); border: 1px solid var(--rd-line); border-radius: 14px; padding: 20px 22px; }
.rd-acct-card__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
body.woocommerce-account .rd-acct-card h3 { font: 400 22px/1.35 var(--rd-serif); margin: 0; }
.rd-acct-card__head a { font-weight: 600; font-size: 15px; }
body.woocommerce-account a.rd-acct-order {
	display: flex; align-items: center; gap: 14px; padding: 12px; margin: 0 -12px; border-radius: 12px; color: var(--rd-ink); text-decoration: none;
}
body.woocommerce-account a.rd-acct-order:hover { background: var(--rd-bg); }
.rd-acct-order__img { flex: 0 0 60px; width: 60px; height: 60px; border-radius: 10px; overflow: hidden; background: var(--rd-bg-alt); }
.rd-acct-order__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rd-acct-order__info { flex: 1; min-width: 0; display: grid; }
.rd-acct-order__info strong { font: 600 16px/1.3 var(--rd-sans); }
.rd-acct-order__info span { font-size: 14px; color: var(--rd-muted); }
.rd-acct-order__end { display: grid; justify-items: end; gap: 4px; }
.rd-acct-order__end strong { font: 700 16px/1.2 var(--rd-sans); }
.rd-acct-empty p { margin: 0 0 14px; color: var(--rd-muted); }
.rd-acct-help { display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; background: var(--rd-bg-alt); border-color: transparent; }
.rd-acct-help p { margin: 2px 0 0; color: var(--rd-muted); font-size: 15px; }
.rd-acct-help__links { display: flex; flex-wrap: wrap; gap: 10px; }
body.woocommerce-account .rd-acct-help__links a {
	display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; background: var(--rd-surface);
	border: 1px solid var(--rd-line); color: var(--rd-maroon); font-weight: 600; font-size: 15px; text-decoration: none;
}
.rd-acct-help__links .rd-ico { width: 18px; height: 18px; }

/* Order status badges (dashboard + orders table) */
.rd-status {
	--rd-st: var(--rd-muted); --rd-st-bg: rgba(43, 26, 18, .06);
	display: inline-block; padding: 3px 10px; border-radius: 999px; font: 700 12px/1.5 var(--rd-sans); letter-spacing: .04em; text-transform: uppercase;
	color: var(--rd-st) !important; background: var(--rd-st-bg) !important;
}
.rd-status--processing { --rd-st: #9a3412; --rd-st-bg: #fdecdc; }
.rd-status--completed { --rd-st: var(--rd-green); --rd-st-bg: #e6f3eb; }
.rd-status--on-hold, .rd-status--pending { --rd-st: #7a5a00; --rd-st-bg: #fbf1d3; }
.rd-status--cancelled, .rd-status--failed, .rd-status--refunded { --rd-st: #8a2323; --rd-st-bg: #f8e3e3; }

/* Orders table */
body.woocommerce-account table.woocommerce-orders-table {
	border: 1px solid var(--rd-line); border-radius: 14px; border-collapse: separate; border-spacing: 0; overflow: hidden; background: var(--rd-surface); margin: 0;
}
body.woocommerce-account table.woocommerce-orders-table thead th {
	background: var(--rd-bg-alt); color: var(--rd-muted); font: 700 13px/1.4 var(--rd-sans); letter-spacing: .06em; text-transform: uppercase; padding: 12px 16px; border: 0;
}
body.woocommerce-account table.woocommerce-orders-table tbody th,
body.woocommerce-account table.woocommerce-orders-table td { text-align: left; padding: 16px; border: 0; border-top: 1px solid var(--rd-line); vertical-align: middle; background: transparent; }
body.woocommerce-account table.woocommerce-orders-table tbody tr:hover > * { background: var(--rd-bg); }
body.woocommerce-account .woocommerce-orders-table__cell-order-number a { font-weight: 700; text-decoration: none; }

/* Small outline buttons inside account pages (View, Pay, Cancel, Edit) */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button.button,
body.woocommerce-account .woocommerce-MyAccount-content td a.button {
	min-height: 0; padding: 7px 16px !important; margin: 2px 4px 2px 0; background: transparent !important; color: var(--rd-maroon) !important;
	border: 1px solid rgba(123, 30, 30, .4) !important; border-radius: 999px !important; font: 700 13px/1.4 var(--rd-sans) !important; letter-spacing: .04em;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button.button:hover,
body.woocommerce-account .woocommerce-MyAccount-content td a.button:hover { background: var(--rd-maroon) !important; color: #fff !important; border-color: var(--rd-maroon) !important; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button.button.pay { background: var(--rd-saffron) !important; border-color: var(--rd-saffron) !important; color: #fff !important; }
body.woocommerce-account .woocommerce-pagination { margin-top: 16px; display: flex; justify-content: space-between; }

/* Notices inside the account area */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
body.woocommerce-account .woocommerce-MyAccount-content .wc-block-components-notice-banner {
	display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px;
	background: var(--rd-surface); border: 1px solid var(--rd-line); border-left: 4px solid var(--rd-maroon); border-radius: 12px; padding: 16px 18px; color: var(--rd-ink);
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message::before { display: none; }

/* Addresses */
body.woocommerce-account .woocommerce-MyAccount-content > p:first-child { color: var(--rd-muted); }
body.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 8px; }
body.woocommerce-account .woocommerce-Addresses::before, body.woocommerce-account .woocommerce-Addresses::after { display: none; }
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
	float: none; width: auto; max-width: none; margin: 0; padding: 20px 22px; background: var(--rd-surface); border: 1px solid var(--rd-line); border-radius: 14px;
}
body.woocommerce-account .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
body.woocommerce-account .woocommerce-Address-title::before, body.woocommerce-account .woocommerce-Address-title::after { display: none; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2 { flex: 1 1 auto; font-size: 20px; margin: 0; padding: 0; }
body.woocommerce-account .woocommerce-Address-title a.edit {
	flex: 0 0 auto; float: none; font-size: 13px; line-height: 1.4; font-weight: 700; padding: 6px 14px; white-space: nowrap; border: 1px solid rgba(123, 30, 30, .4); border-radius: 999px; text-decoration: none;
}
body.woocommerce-account .woocommerce-Address address { font-style: normal; line-height: 1.7; color: var(--rd-muted); margin: 0; }

/* Edit address / account details forms */
body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields {
	background: var(--rd-surface); border: 1px solid var(--rd-line); border-radius: 14px; padding: 24px;
}
body.woocommerce-account .woocommerce-MyAccount-content form .form-row { margin: 0 0 16px; padding: 0; }
body.woocommerce-account .woocommerce-MyAccount-content form label { font: 600 14px/1.4 var(--rd-sans); color: var(--rd-ink); margin-bottom: 6px; display: block; }
body.woocommerce-account .woocommerce-MyAccount-content form input.input-text,
body.woocommerce-account .woocommerce-MyAccount-content form select,
body.woocommerce-account .woocommerce-MyAccount-content .select2-container .select2-selection--single {
	width: 100%; min-height: 48px; padding: 10px 14px; font-size: 16px; color: var(--rd-ink); background: var(--rd-surface);
	border: 1px solid var(--rd-line-strong); border-radius: 10px; box-shadow: none;
}
body.woocommerce-account .woocommerce-MyAccount-content .select2-container .select2-selection--single .select2-selection__rendered { line-height: 26px; padding: 0; color: var(--rd-ink); }
body.woocommerce-account .woocommerce-MyAccount-content .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }
body.woocommerce-account .woocommerce-MyAccount-content form input.input-text:focus { border-color: var(--rd-saffron); box-shadow: 0 0 0 3px rgba(194, 65, 12, .15); outline: 0; }
body.woocommerce-account .woocommerce-MyAccount-content form fieldset { margin: 24px 0 8px; padding: 20px 0 0; border: 0; border-top: 1px solid var(--rd-line); }
body.woocommerce-account .woocommerce-MyAccount-content form legend { font: 400 20px/1.35 var(--rd-serif); color: var(--rd-ink); padding: 0; margin-bottom: 12px; }
body.woocommerce-account .woocommerce-MyAccount-content form em { display: block; margin-top: 4px; font-size: 13px; color: var(--rd-muted); }
body.woocommerce-account .woocommerce-MyAccount-content form button[type="submit"] { width: auto; min-width: 200px; }

/* Single order view */
body.woocommerce-account .woocommerce-MyAccount-content > p:has(mark.order-status) { padding: 14px 18px; background: var(--rd-bg-alt); border-radius: 12px; }
body.woocommerce-account .woocommerce-MyAccount-content mark:not(.rd-status) { background: transparent; color: var(--rd-maroon); font-weight: 700; }
body.woocommerce-account .woocommerce-order-details,
body.woocommerce-account .woocommerce-customer-details { margin-top: 24px; }
body.woocommerce-account table.woocommerce-table--order-details { background: var(--rd-surface); border: 1px solid var(--rd-line); border-radius: 14px; border-collapse: separate; border-spacing: 0; overflow: hidden; }
body.woocommerce-account table.woocommerce-table--order-details th,
body.woocommerce-account table.woocommerce-table--order-details td { padding: 14px 16px; border: 0; border-top: 1px solid var(--rd-line); background: transparent; }
body.woocommerce-account table.woocommerce-table--order-details thead th { border-top: 0; background: var(--rd-bg-alt); color: var(--rd-muted); font: 700 13px/1.4 var(--rd-sans); letter-spacing: .06em; text-transform: uppercase; }
body.woocommerce-account table.woocommerce-table--order-details tfoot tr:last-child th,
body.woocommerce-account table.woocommerce-table--order-details tfoot tr:last-child td { font-size: 18px; font-weight: 700; }
body.woocommerce-account .woocommerce-customer-details address {
	font-style: normal; line-height: 1.7; padding: 18px 20px; background: var(--rd-surface); border: 1px solid var(--rd-line) !important; border-radius: 14px; color: var(--rd-muted);
}
body.woocommerce-account .woocommerce-columns--addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
body.woocommerce-account .woocommerce-columns--addresses::before, body.woocommerce-account .woocommerce-columns--addresses::after { display: none; }
body.woocommerce-account .woocommerce-columns--addresses .woocommerce-column { float: none; width: auto; max-width: none; margin: 0; padding: 0; }

/* Tablet and phone */
@media (max-width: 1024px) {
	body.woocommerce-account.logged-in .page-content > .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	body.woocommerce-account .woocommerce-MyAccount-navigation {
		position: static; padding: 0; background: transparent; border: 0; box-shadow: none; margin: 0 -16px;
	}
	body.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex; gap: 8px; overflow-x: auto; padding: 2px 16px 6px; scroll-padding-inline: 16px; scroll-snap-type: x proximity; scrollbar-width: none;
	}
	body.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	body.woocommerce-account .woocommerce-MyAccount-navigation li { flex: 0 0 auto; scroll-snap-align: start; }
	body.woocommerce-account .woocommerce-MyAccount-navigation li a {
		gap: 8px; padding: 9px 14px; border-radius: 999px; background: var(--rd-surface); border: 1px solid var(--rd-line); font-size: 15px; white-space: nowrap;
	}
	body.woocommerce-account .woocommerce-MyAccount-navigation li a::before { flex-basis: 18px; width: 18px; height: 18px; }
	body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--rd-maroon); border-color: var(--rd-maroon); color: #fff; box-shadow: none; }
	body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0 !important; padding: 0 !important; border: 0 !important; }
}
@media (max-width: 767px) {
	body.woocommerce-account.logged-in .site-main .entry-title { display: none; }
	body.woocommerce-account.logged-in main.site-main { padding-left: 16px; padding-right: 16px; }
	.rd-acct { gap: 14px; }
	.rd-acct-hello { padding: 20px; gap: 14px; border-radius: 14px; }
	.rd-acct-avatar { flex-basis: 52px; width: 52px; height: 52px; font-size: 18px; }
	body.woocommerce-account .woocommerce-MyAccount-content h2.rd-acct-name { font-size: 24px; }
	.rd-acct-meta span[aria-hidden] { display: none; }
	.rd-acct-meta { display: grid; }
	.rd-acct-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	body.woocommerce-account a.rd-acct-tile { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; position: relative; }
	.rd-acct-tile__icon { flex-basis: 40px; width: 40px; height: 40px; border-radius: 10px; }
	.rd-acct-tile__text strong { font-size: 16px; }
	.rd-acct-tile__text span { font-size: 13px; white-space: normal; }
	.rd-acct-tile__go { position: absolute; top: 14px; right: 10px; }
	.rd-acct-card { padding: 16px; }
	.rd-acct-order__img { flex-basis: 52px; width: 52px; height: 52px; }
	.rd-acct-help__links { width: 100%; }
	body.woocommerce-account .rd-acct-help__links a { flex: 1 1 auto; justify-content: center; }

	/* Orders table becomes a list of cards */
	body.woocommerce-account table.woocommerce-orders-table { border: 0; background: transparent; overflow: visible; }
	body.woocommerce-account table.woocommerce-orders-table thead { display: none; }
	body.woocommerce-account table.woocommerce-orders-table tbody tr {
		display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; padding: 16px; margin-bottom: 12px;
		background: var(--rd-surface); border: 1px solid var(--rd-line); border-radius: 14px;
	}
	body.woocommerce-account table.woocommerce-orders-table tbody tr td,
	body.woocommerce-account table.woocommerce-orders-table tbody tr th { display: block; padding: 0; border: 0; text-align: left !important; background: transparent !important; }
	body.woocommerce-account table.woocommerce-orders-table td::before,
	body.woocommerce-account table.woocommerce-orders-table th::before { display: none !important; }
	body.woocommerce-account .woocommerce-orders-table__cell-order-number { grid-column: 1; font-size: 17px; }
	body.woocommerce-account td.woocommerce-orders-table__cell-order-status { grid-column: 2; grid-row: 1; justify-self: end; }
	body.woocommerce-account .woocommerce-orders-table__cell-order-date { grid-column: 1 / -1; color: var(--rd-muted); font-size: 14px; }
	body.woocommerce-account .woocommerce-orders-table__cell-order-total { grid-column: 1 / -1; font-size: 15px; }
	body.woocommerce-account .woocommerce-orders-table__cell-order-actions { grid-column: 1 / -1; margin-top: 8px !important; }

	body.woocommerce-account .woocommerce-Addresses,
	body.woocommerce-account .woocommerce-columns--addresses { grid-template-columns: minmax(0, 1fr); }
	body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm,
	body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields { padding: 18px 16px; }
	body.woocommerce-account .woocommerce-MyAccount-content form button[type="submit"] { width: 100%; }
	body.woocommerce-account table.woocommerce-table--order-details th,
	body.woocommerce-account table.woocommerce-table--order-details td { padding: 12px; }
}

/* Plain pages (cart, checkout, account, policies) had no side gutter between phone and full desktop width. */
@media (min-width: 768px) and (max-width: 1199px) {
	body.page:not(.elementor-page) .site-main { padding-left: 24px; padding-right: 24px; }
}
/* Account notices: message first, button after it */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button { order: 2; float: none; min-height: 44px; margin: 0; }body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title.title::before,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title.title::after,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses.col2-set::before,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses.col2-set::after,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses.col2-set::before,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses.col2-set::after { content: none; display: none; }
/* =========================================================================
 * Shop and category pages: header banner, category chips, toolbar
 * ====================================================================== */
body.woocommerce-shop .site-main, body.tax-product_cat .site-main, body.tax-product_tag .site-main { max-width: 1240px; padding-top: 24px; }
body .woocommerce-products-header { margin: 0; padding: 0; }
.rd-shop-hero {
	position: relative; overflow: hidden; text-align: center; color: var(--rd-on-dark);
	padding: 44px 24px 38px; border-radius: 20px;
	background: radial-gradient(90% 140% at 50% 0%, #8e2a26 0%, var(--rd-maroon-deep) 55%, #2a0909 100%);
}
.rd-shop-hero::before, .rd-shop-hero::after {
	content: ""; position: absolute; top: 50%; width: 340px; height: 340px; border-radius: 50%; transform: translateY(-50%);
	border: 1px solid rgba(242, 193, 78, .22); box-shadow: 0 0 0 26px rgba(242, 193, 78, .05), 0 0 0 54px rgba(242, 193, 78, .03);
	pointer-events: none;
}
.rd-shop-hero::before { left: -190px; }
.rd-shop-hero::after { right: -190px; }
.rd-shop-hero > * { position: relative; z-index: 1; }
body .rd-shop-hero__crumbs { font: 600 13px/1.4 var(--rd-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--rd-on-dark-muted); margin: 0 0 10px; }
body .rd-shop-hero__crumbs a { color: var(--rd-gold); text-decoration: none; }
body .rd-shop-hero__title { font: 400 50px/1.35 var(--rd-serif) !important; color: var(--rd-on-dark) !important; margin: 0 0 6px; }
.rd-shop-hero__intro { max-width: 620px; margin: 0 auto 16px; color: var(--rd-on-dark-muted); font-size: 17px; line-height: 1.6; }
.rd-shop-hero__trust { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 22px; }
.rd-shop-hero__trust li { display: inline-flex; align-items: center; gap: 8px; font: 600 14px/1.4 var(--rd-sans); color: var(--rd-on-dark); }
.rd-shop-hero__trust li::before { content: ""; width: 7px; height: 7px; background: var(--rd-gold); transform: rotate(45deg); flex: 0 0 auto; }

.rd-shop-cats { margin: 22px 0 6px; }
.rd-shop-cats ul { list-style: none; margin: 0; padding: 2px 0 6px; display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
body .rd-shop-cats a {
	display: inline-flex; align-items: center; min-height: 42px; padding: 8px 20px; border-radius: 999px;
	background: var(--rd-surface); border: 1px solid var(--rd-line); color: var(--rd-ink);
	font: 600 15px/1.2 var(--rd-sans); text-decoration: none; white-space: nowrap; transition: border-color .15s, color .15s, background .15s;
}
body .rd-shop-cats a:hover { border-color: rgba(123, 30, 30, .45); color: var(--rd-maroon); }
body .rd-shop-cats a[aria-current="page"] { background: var(--rd-maroon); border-color: var(--rd-maroon); color: #fff; }

.rd-shop-toolbar {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	margin: 18px 0 22px; padding: 12px 0; border-top: 1px solid var(--rd-line); border-bottom: 1px solid var(--rd-line);
}
.rd-shop-toolbar::before, .rd-shop-toolbar::after { display: none; }
.rd-shop-toolbar > .woocommerce-notices-wrapper:empty { display: none; }
body .rd-shop-toolbar .woocommerce-result-count { float: none; margin: 0; font: 600 13px/1.4 var(--rd-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--rd-muted); }
body .rd-shop-toolbar .woocommerce-ordering { float: none; margin: 0; }
body .rd-shop-toolbar .woocommerce-ordering select {
	appearance: none; -webkit-appearance: none; min-height: 42px; padding: 8px 40px 8px 16px; border-radius: 999px;
	background: var(--rd-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b1e1e' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center / 16px;
	border: 1px solid var(--rd-line-strong); font: 600 15px/1.2 var(--rd-sans); color: var(--rd-ink); cursor: pointer;
}

/* =========================================================================
 * Product cards (shop grid, categories, related products, home page)
 * ====================================================================== */
body.woocommerce ul.products, body .woocommerce ul.products {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px 22px; margin: 0 0 40px; padding: 0;
}
body .woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.woocommerce ul.products::before, body.woocommerce ul.products::after,
body .woocommerce ul.products::before, body .woocommerce ul.products::after { display: none; }
body.woocommerce ul.products li.product, body .woocommerce ul.products li.product,
body .woocommerce ul.products[class*="columns-"] li.product,
body.woocommerce ul.products[class*="columns-"] li.product,
body.woocommerce ul.products[class*="columns-"] li.product:nth-child(n) {
	width: auto !important; margin: 0 !important; float: none !important; clear: none !important;
}

.rd-card, .woocommerce ul.products li.product {
	background: var(--rd-surface); border: 1px solid rgba(43, 26, 18, .08); border-radius: 16px;
	box-shadow: 0 1px 2px rgba(74, 18, 18, .04); overflow: hidden; text-align: center;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.rd-card:hover, .woocommerce ul.products li.product:hover {
	transform: translateY(-4px); border-color: rgba(184, 137, 46, .35); box-shadow: 0 18px 38px rgba(74, 18, 18, .12);
}

/* Image frame, with the second photo fading in on hover */
.rd-loop-media { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: var(--rd-bg-alt); }
.woocommerce ul.products li.product .rd-loop-media { margin: 0 0 14px; }
.rd-loop-media img, .woocommerce ul.products li.product .rd-loop-media img {
	display: block; width: 100%; height: 100% !important; object-fit: cover; margin: 0 !important; aspect-ratio: auto;
	transition: opacity .45s ease, transform .7s ease;
}
.rd-loop-media img.rd-loop-alt { position: absolute; inset: 0; opacity: 0; }
@media (hover: hover) and (min-width: 768px) {
	.rd-card:hover .rd-loop-media img.rd-loop-alt, li.product:hover .rd-loop-media img.rd-loop-alt { opacity: 1; }
	.rd-card:hover .rd-loop-media img, li.product:hover .rd-loop-media img { transform: scale(1.04); }
}

/* Text */
.rd-loop-cat {
	display: block; margin: 0 14px 4px; color: #9a6b1f;
	font: 700 11.5px/1.4 var(--rd-sans); letter-spacing: .16em; text-transform: uppercase;
}
.rd-card .rd-loop-cat { margin: 0 0 2px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .rd-card__title {
	font: 400 20px/1.35 var(--rd-serif) !important; color: var(--rd-ink);
}
.woocommerce ul.products li.product .price, .rd-card__price { color: var(--rd-ink) !important; }
.woocommerce ul.products li.product .price { margin: 4px 0 14px !important; }
.woocommerce ul.products li.product .star-rating { margin: 0 auto 6px; }
.rd-card__rating { justify-content: center; }
.rd-card__body { align-items: center; padding: 16px 16px 18px; }
.rd-card__price { margin-top: 4px; }

/* Add to cart: slimmer, refined */
body.woocommerce ul.products li.product .button, body .woocommerce ul.products li.product .button, body .rd-card__btn {
	min-height: 46px; padding: 10px 16px !important; border-radius: 10px !important;
	font: 700 13.5px/1.2 var(--rd-sans) !important; letter-spacing: .1em !important;
}
body.woocommerce ul.products li.product .button, body .woocommerce ul.products li.product .button { margin: 0 16px !important; }
.woocommerce ul.products li.product { padding-bottom: 16px !important; }

/* Wishlist heart on the right, like most premium stores */
ul.products li.product .yith-wcwl-add-to-wishlist,
ul.products li.product .yith-add-to-wishlist-button-block,
.rd-card__wish { left: auto !important; right: 12px; top: 12px; }

/* Pagination */
body.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; justify-content: center; gap: 8px; }
body.woocommerce nav.woocommerce-pagination ul li { border: 0; }
body.woocommerce nav.woocommerce-pagination ul li a,
body.woocommerce nav.woocommerce-pagination ul li span {
	display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border-radius: 999px;
	background: var(--rd-surface); border: 1px solid var(--rd-line); font: 600 15px/1 var(--rd-sans); color: var(--rd-ink);
}
body.woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--rd-maroon); color: var(--rd-maroon); background: var(--rd-surface); }
body.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--rd-maroon); border-color: var(--rd-maroon); color: #fff; }

@media (max-width: 1024px) {
	body.woocommerce ul.products, body .woocommerce ul.products,
	body .woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 16px; }
	body .rd-shop-hero__title { font-size: 42px !important; }
}
@media (max-width: 767px) {
	body.woocommerce-shop .site-main, body.tax-product_cat .site-main, body.tax-product_tag .site-main { padding-top: 14px; }
	.rd-shop-hero { padding: 28px 18px 24px; border-radius: 16px; }
	.rd-shop-hero::before, .rd-shop-hero::after { width: 220px; height: 220px; }
	.rd-shop-hero::before { left: -150px; }
	.rd-shop-hero::after { right: -150px; }
	body .rd-shop-hero__title { font-size: 34px !important; }
	.rd-shop-hero__intro { font-size: 15px; margin-bottom: 12px; }
	.rd-shop-hero__trust { gap: 4px 14px; }
	.rd-shop-hero__trust li { font-size: 13px; }
	.rd-shop-cats { margin: 16px -16px 0; }
	.rd-shop-cats ul { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; padding: 2px 16px 6px; scroll-padding-inline: 16px; scrollbar-width: none; }
	.rd-shop-cats ul::-webkit-scrollbar { display: none; }
	.rd-shop-cats li { flex: 0 0 auto; }
	body .rd-shop-cats a { min-height: 40px; padding: 7px 16px; font-size: 14px; }
	.rd-shop-toolbar { margin: 12px 0 16px; padding: 10px 0; }
	body .rd-shop-toolbar .woocommerce-result-count { font-size: 12px; letter-spacing: .06em; }
	body .rd-shop-toolbar .woocommerce-ordering select { min-height: 40px; font-size: 14px; padding-right: 36px; max-width: 190px; }

	body.woocommerce ul.products, body .woocommerce ul.products,
	body .woocommerce ul.products.columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
	.rd-card, .woocommerce ul.products li.product { border-radius: 14px; }
	.rd-card:hover, .woocommerce ul.products li.product:hover { transform: none; }
	.woocommerce ul.products li.product .rd-loop-media { margin-bottom: 10px; }
	.rd-loop-cat { margin: 0 10px 2px; font-size: 10.5px; letter-spacing: .12em; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title, .rd-card__title { font-size: 17px !important; }
	.woocommerce ul.products li.product .price { margin: 2px 0 12px !important; }
	body.woocommerce ul.products li.product .button, body .woocommerce ul.products li.product .button { margin: 0 10px !important; }
	body.woocommerce ul.products li.product .button, body .woocommerce ul.products li.product .button, body .rd-card__btn {
		min-height: 42px; padding: 8px 6px !important; font-size: 12.5px !important; letter-spacing: .06em !important;
	}
	.woocommerce ul.products li.product { padding-bottom: 12px !important; }
	.rd-card__body { padding: 12px 10px 14px; }
	ul.products li.product .yith-wcwl-add-to-wishlist,
	ul.products li.product .yith-add-to-wishlist-button-block,
	.rd-card__wish { right: 8px; top: 8px; }
}

/* Wishlist heart: plain icon, no white circle behind it */
body .rd-wishlist a, body .rd-wishlist button,
body ul.products li.product .yith-wcwl-add-to-wishlist a, body ul.products li.product .yith-wcwl-add-to-wishlist button,
body ul.products li.product .yith-add-to-wishlist-button-block a, body ul.products li.product .yith-add-to-wishlist-button-block button {
	background: transparent !important; border: 0 !important; box-shadow: none !important;
	filter: drop-shadow(0 1px 2px rgba(255, 249, 240, .9));
	transition: color .2s, transform .2s;
}
body .rd-wishlist svg, body ul.products li.product .yith-wcwl-icon-svg,
body ul.products li.product .yith-add-to-wishlist-button-block svg { width: 24px !important; height: 24px !important; }
body .rd-wishlist a:hover, body ul.products li.product .yith-add-to-wishlist-button-block a:hover { transform: scale(1.1); }
/* The hover photo is on maroon, so the heart turns ivory there */
@media (hover: hover) and (min-width: 768px) {
	body ul.products li.product:hover .yith-add-to-wishlist-button-block a,
	body ul.products li.product:hover .yith-wcwl-add-to-wishlist a,
	body .rd-card:hover .rd-card__wish a { color: #fff9f0 !important; filter: drop-shadow(0 1px 2px rgba(42, 9, 9, .6)); }
}body .rd-wishlist a svg, body ul.products li.product .yith-wcwl-add-to-wishlist a svg,
body ul.products li.product .yith-add-to-wishlist-button-block a svg { color: inherit !important; }