/* ==========================================================================
   Raja GSM — light bright theme (Indian GSM-provider style)
   Palette: page #f5f7fb / cards #ffffff / borders #e2e8f0
            text #1e293b / headings & navy blocks #0f1b2d
            primary blue #2563eb / price orange #ea580c / WhatsApp #25d366
   ========================================================================== */

:root {
	--rg-bg: #f5f7fb;
	--rg-surface: #ffffff;
	--rg-surface-2: #f1f5f9;
	--rg-border: #e2e8f0;
	--rg-text: #1e293b;
	--rg-muted: #3f4d63; /* dark enough to read comfortably on the light background */
	--rg-navy: #0f1b2d;
	--rg-accent: #2563eb;
	--rg-accent-dark: #1d4ed8;
	--rg-accent-soft: rgba(37, 99, 235, 0.1);
	--rg-price: #ea580c;
	--rg-wa: #25d366;
	--rg-radius: 12px;
	--rg-font-head: 'Chakra Petch', 'Space Grotesk', sans-serif;
	--rg-font-body: 'Inter', sans-serif;
	--rg-font-mono: 'Share Tech Mono', monospace;
}

/* ---- Base ---------------------------------------------------------------- */
html, body {
	overflow-x: hidden;
	max-width: 100%;
}

body {
	background: var(--rg-bg);
	color: var(--rg-text);
	font-family: var(--rg-font-body);
}

img { max-width: 100%; height: auto; }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--rg-font-head);
	color: var(--rg-navy);
}

a { color: var(--rg-accent); }
a:hover { color: var(--rg-accent-dark); }

::selection { background: var(--rg-accent); color: #fff; }

/* Subtle tech grid backdrop with a soft drifting tint */
body::before {
	content: '';
	position: fixed;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(rgba(37, 99, 235, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(37, 99, 235, 0.04) 1px, transparent 1px);
	background-size: 42px 42px;
	z-index: 0;
}

body::after {
	content: '';
	position: fixed;
	inset: -30%;
	pointer-events: none;
	z-index: 0;
	background:
		radial-gradient(38% 30% at 22% 28%, rgba(37, 99, 235, 0.06), transparent 70%),
		radial-gradient(30% 26% at 78% 70%, rgba(249, 115, 22, 0.05), transparent 70%);
	animation: rg-aurora 24s ease-in-out infinite alternate;
}

@keyframes rg-aurora {
	0%   { transform: translate(0, 0) rotate(0deg); }
	50%  { transform: translate(4%, -3%) rotate(3deg); }
	100% { transform: translate(-4%, 3%) rotate(-3deg); }
}

@media (prefers-reduced-motion: reduce) {
	body::after { animation: none; }
	*, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

/* ---- Generic content (posts, pages) -------------------------------------- */
.site-main, .entry-content, .page-content {
	color: var(--rg-text);
}

.entry-content img, .woocommerce-product-gallery img {
	border-radius: var(--rg-radius);
}

input[type="text"], input[type="email"], input[type="search"],
input[type="tel"], input[type="url"], input[type="password"],
textarea, select {
	background: #fff;
	border: 1px solid #cbd5e1;
	color: var(--rg-text);
	border-radius: 8px;
	padding: 10px 14px;
}

input:focus, textarea:focus, select:focus {
	border-color: var(--rg-accent);
	outline: none;
	box-shadow: 0 0 0 3px var(--rg-accent-soft);
}

table, table th, table td { border-color: var(--rg-border); }
table th { background: var(--rg-surface-2); color: var(--rg-navy); }

/* ---- Buttons -------------------------------------------------------------- */
.button, button, input[type="submit"],
.woocommerce #respond input#submit, .woocommerce a.button,
.woocommerce button.button, .woocommerce input.button {
	background: var(--rg-accent);
	color: #fff;
	font-weight: 600;
	border: none;
	border-radius: 8px;
	transition: all 0.2s ease;
	position: relative;
	overflow: hidden;
}

/* Shine sweep on hover for every styled button */
.button::after, .woocommerce a.button::after,
.elementor-button::after, .rajagsm-wa-btn::after {
	content: '';
	position: absolute;
	top: 0;
	left: -80%;
	width: 50%;
	height: 100%;
	background: linear-gradient(105deg, transparent, rgba(255, 255, 255, 0.45), transparent);
	transform: skewX(-20deg);
	transition: left 0.45s ease;
	pointer-events: none;
}

.button:hover::after, .woocommerce a.button:hover::after,
.elementor-button:hover::after, .rajagsm-wa-btn:hover::after {
	left: 130%;
}

.elementor-button, .rajagsm-wa-btn { position: relative; overflow: hidden; }

.button:hover, button:hover, input[type="submit"]:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover {
	background: var(--rg-accent-dark);
	color: #fff;
	box-shadow: 0 8px 20px rgba(37, 99, 235, 0.35);
}

/* ---- WhatsApp buttons ------------------------------------------------------ */
.rajagsm-wa-btn,
.woocommerce ul.products li.product a.button.rajagsm-wa-btn,
.woocommerce a.button.rajagsm-wa-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--rg-wa);
	color: #fff;
	font-weight: 700;
	border-radius: 8px;
	padding: 10px 18px;
}

.rajagsm-wa-btn:hover,
.woocommerce a.button.rajagsm-wa-btn:hover {
	background: #1eb855;
	color: #fff;
	box-shadow: 0 8px 20px rgba(37, 211, 102, 0.35);
}

.rajagsm-wa-btn--single {
	font-size: 17px;
	padding: 14px 26px;
	margin-top: 12px;
}

.rajagsm-wa-float {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 9999;
	width: 56px;
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--rg-wa);
	color: #fff;
	border-radius: 50%;
	box-shadow: 0 6px 24px rgba(37, 211, 102, 0.45);
	transition: transform 0.2s ease;
}

.rajagsm-wa-float:hover { transform: scale(1.1); color: #fff; }
.rajagsm-wa-float svg { width: 28px; height: 28px; }

.rajagsm-wa-float::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 2px solid var(--rg-wa);
	animation: rg-pulse 2.2s ease-out infinite;
}

@keyframes rg-pulse {
	0%   { transform: scale(1); opacity: 0.9; }
	70%  { transform: scale(1.7); opacity: 0; }
	100% { transform: scale(1.7); opacity: 0; }
}

/* ---- WooCommerce: product cards ------------------------------------------- */
.woocommerce ul.products li.product,
.wc-block-grid__product {
	background: var(--rg-surface);
	border: 1px solid var(--rg-border);
	border-radius: var(--rg-radius);
	padding: 14px;
	transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
	will-change: transform;
	box-shadow: 0 1px 3px rgba(15, 27, 45, 0.05);
}

.woocommerce ul.products li.product:hover {
	border-color: var(--rg-accent);
	transform: translateY(-4px);
	box-shadow: 0 16px 34px rgba(15, 27, 45, 0.12), 0 0 0 1px var(--rg-accent);
}

.woocommerce ul.products li.product img {
	border-radius: 8px;
	background: #fff;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--rg-navy);
	font-family: var(--rg-font-head);
	font-size: 15px;
	min-height: 42px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title:hover {
	color: var(--rg-accent);
}

.woocommerce ul.products li.product.product-category .woocommerce-loop-category__title {
	color: var(--rg-navy);
	font-family: var(--rg-font-head);
	font-size: 16px;
	text-align: center;
}

.woocommerce ul.products li.product.product-category .woocommerce-loop-category__title mark {
	background: transparent;
	color: var(--rg-muted);
}

.woocommerce ul.products li.product.product-category img {
	background: var(--rg-surface-2);
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price {
	color: var(--rg-price);
	font-weight: 700;
	font-family: var(--rg-font-mono);
}

.rajagsm-ask-price {
	color: var(--rg-accent);
	font-weight: 600;
	font-size: 0.95em;
	font-family: var(--rg-font-mono);
}

.rajagsm-price-note {
	font-size: 13px;
	color: var(--rg-muted);
	font-style: italic;
	margin-top: -8px;
}

.woocommerce div.product p.price del { color: var(--rg-muted); opacity: 0.7; }
.woocommerce div.product p.price ins { color: var(--rg-price); text-decoration: none; }

.woocommerce span.onsale {
	background: var(--rg-price);
	color: #fff;
	font-weight: 700;
}

/* Single product */
.woocommerce div.product .product_title { color: var(--rg-navy); overflow-wrap: anywhere; }

/* Gallery thumbnails: tidy 4-up grid instead of floated mess */
.woocommerce div.product div.images .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 8px;
	padding: 0;
}

.woocommerce div.product div.images .flex-control-thumbs li {
	width: calc(25% - 5px);
	float: none;
	margin: 0;
	list-style: none;
}

.woocommerce div.product div.images .flex-control-thumbs img {
	border: 1px solid var(--rg-border);
	border-radius: 6px;
	opacity: 0.7;
	transition: opacity 0.2s ease, border-color 0.2s ease;
}

.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover {
	opacity: 1;
	border-color: var(--rg-accent);
}

/* Long unbroken tokens in titles/content must wrap, not push the layout */
.woocommerce ul.products li.product .woocommerce-loop-product__title { overflow-wrap: anywhere; }
.entry-content { overflow-wrap: break-word; }
.entry-content table { display: block; overflow-x: auto; max-width: 100%; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: var(--rg-surface-2);
	border-color: var(--rg-border);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: #fff;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--rg-text); }
.woocommerce div.product .woocommerce-tabs .panel {
	background: transparent;
	color: var(--rg-text);
}

.woocommerce .star-rating span::before { color: #f59e0b; }

.woocommerce .woocommerce-breadcrumb { color: var(--rg-muted); }
.woocommerce .woocommerce-breadcrumb a { color: var(--rg-accent); }
.woocommerce .woocommerce-result-count { color: var(--rg-muted); }

/* ---- News cards ([rajagsm_latest_posts]) ----------------------------------- */
.rajagsm-news-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

@media (max-width: 1024px) {
	.rajagsm-news-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
	.rajagsm-news-grid { grid-template-columns: 1fr; }
}

.rajagsm-news-card {
	background: var(--rg-surface);
	border: 1px solid var(--rg-border);
	border-radius: var(--rg-radius);
	overflow: hidden;
	transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 1px 3px rgba(15, 27, 45, 0.05);
}

.rajagsm-news-card:hover {
	border-color: var(--rg-accent);
	transform: translateY(-4px);
	box-shadow: 0 14px 30px rgba(15, 27, 45, 0.12);
}

.rajagsm-news-card__thumb { display: block; aspect-ratio: 16/9; overflow: hidden; }
.rajagsm-news-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.rajagsm-news-card:hover .rajagsm-news-card__thumb img { transform: scale(1.05); }

.rajagsm-news-card__body { padding: 16px 18px 20px; }

.rajagsm-news-card__cat {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--rg-accent);
	background: var(--rg-accent-soft);
	border-radius: 999px;
	padding: 3px 10px;
	margin-bottom: 10px;
}

.rajagsm-news-card__title { font-size: 17px; line-height: 1.4; margin: 0 0 8px; }
.rajagsm-news-card__title a { color: var(--rg-navy); text-decoration: none; }
.rajagsm-news-card__title a:hover { color: var(--rg-accent); }

.rajagsm-news-card__meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
}

.rajagsm-news-card__date { font-size: 13px; color: var(--rg-muted); }

.rajagsm-news-card__read {
	font-family: var(--rg-font-mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--rg-accent);
	background: var(--rg-accent-soft);
	border-radius: 999px;
	padding: 3px 9px;
}

/* Featured (newest) post — large split card */
.rajagsm-news-feat {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	background: var(--rg-surface);
	border: 1px solid var(--rg-border);
	border-radius: 16px;
	overflow: hidden;
	margin-bottom: 26px;
	box-shadow: 0 2px 8px rgba(15, 27, 45, 0.06);
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.rajagsm-news-feat:hover {
	border-color: var(--rg-accent);
	box-shadow: 0 18px 40px rgba(15, 27, 45, 0.14);
}

.rajagsm-news-feat__thumb { display: block; min-height: 300px; }
.rajagsm-news-feat__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
	transition: transform 0.4s ease;
}
.rajagsm-news-feat:hover .rajagsm-news-feat__thumb img { transform: scale(1.04); }

.rajagsm-news-feat__body {
	padding: 32px 34px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	justify-content: center;
}

.rajagsm-news-feat__title { font-size: 27px; line-height: 1.25; margin: 0; }
.rajagsm-news-feat__title a { color: var(--rg-navy); text-decoration: none; }
.rajagsm-news-feat__title a:hover { color: var(--rg-accent); }

.rajagsm-news-feat__excerpt { color: var(--rg-muted); margin: 0; }

.rajagsm-news-feat__meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: var(--rg-muted);
	font-size: 13.5px;
}

.rajagsm-news-feat__more { font-weight: 700; text-decoration: none; }

@media (max-width: 880px) {
	.rajagsm-news-feat { grid-template-columns: 1fr; }
	.rajagsm-news-feat__thumb { min-height: 0; aspect-ratio: 16/9; }
	.rajagsm-news-feat__body { padding: 20px; }
	.rajagsm-news-feat__title { font-size: 20px; }
}

/* Pagination under the blog grid */
.rg-blog-pages {
	display: flex;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 34px;
}

.rg-blog-pages .page-numbers {
	display: inline-flex;
	align-items: center;
	min-width: 42px;
	height: 42px;
	justify-content: center;
	padding: 0 14px;
	border: 1px solid var(--rg-border);
	border-radius: 10px;
	background: #fff;
	color: var(--rg-navy);
	font-family: var(--rg-font-head);
	font-weight: 600;
	text-decoration: none;
	transition: all 0.2s ease;
}

.rg-blog-pages .page-numbers:hover { border-color: var(--rg-accent); color: var(--rg-accent); }
.rg-blog-pages .page-numbers.current { background: var(--rg-accent); border-color: var(--rg-accent); color: #fff; }

/* ---- Blog archive / single ------------------------------------------------- */
/* Category/tag archives (theme template): card grid instead of a stacked list */
body.archive:not(.woocommerce) .page-content,
body.blog .page-content {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	align-items: start;
	max-width: 1200px;
	margin: 0 auto;
	padding: 10px 20px 60px;
}

body.archive:not(.woocommerce) .page-content > nav,
body.archive:not(.woocommerce) .page-content > .navigation,
body.blog .page-content > nav {
	grid-column: 1 / -1;
}

body.archive:not(.woocommerce) .site-main > header.page-header,
body.archive:not(.woocommerce) h1.entry-title {
	max-width: 1200px;
	margin: 30px auto 10px;
	padding: 0 20px;
}

@media (max-width: 1024px) { body.archive:not(.woocommerce) .page-content, body.blog .page-content { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { body.archive:not(.woocommerce) .page-content, body.blog .page-content { grid-template-columns: 1fr; } }

body.blog article, body.archive article.post {
	background: var(--rg-surface);
	border: 1px solid var(--rg-border);
	border-radius: var(--rg-radius);
	padding: 24px;
	margin-bottom: 0;
	transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

body.archive article.post:hover {
	border-color: var(--rg-accent);
	transform: translateY(-4px);
	box-shadow: 0 14px 30px rgba(15, 27, 45, 0.12);
}

body.archive article.post .entry-title { font-size: 19px; line-height: 1.35; }

.rg-archive-thumb { display: block; margin-bottom: 14px; border-radius: 10px; overflow: hidden; aspect-ratio: 16/9; }
.rg-archive-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
article.post:hover .rg-archive-thumb img { transform: scale(1.04); }
.rg-archive-more { font-weight: 700; text-decoration: none; }

.entry-title a { color: var(--rg-navy); text-decoration: none; }
.entry-title a:hover { color: var(--rg-accent); }

/* ---- Header/footer wrappers -------------------------------------------------- */
.ekit-template-content-header {
	position: sticky;
	top: 0;
	z-index: 999;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--rg-border);
	box-shadow: 0 2px 14px rgba(15, 27, 45, 0.06);
}

body.admin-bar .ekit-template-content-header { top: 32px; }

.ekit-template-content-footer {
	background: var(--rg-navy);
	border-top: 3px solid var(--rg-accent);
	position: relative;
	z-index: 1;
	color: #cbd5e1;
}

.ekit-template-content-footer h2, .ekit-template-content-footer h3,
.ekit-template-content-footer h4 { color: #fff; }
.ekit-template-content-footer a { color: #cbd5e1; text-decoration: none; }
.ekit-template-content-footer a:hover { color: #7eb1ff; }
.ekit-template-content-footer ul { list-style: none; margin: 0; padding: 0; }
.ekit-template-content-footer ul li { margin-bottom: 10px; }

/* ---- Pagination ----------------------------------------------------------------- */
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li { border-color: var(--rg-border); }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	color: var(--rg-text);
	background: var(--rg-surface);
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--rg-accent);
	color: #fff;
}

/* ==========================================================================
   Interactive layer
   ========================================================================== */

.rg-progress {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, var(--rg-accent), var(--rg-price));
	transform: scaleX(0);
	transform-origin: 0 50%;
	z-index: 99999;
	pointer-events: none;
	box-shadow: 0 0 10px rgba(37, 99, 235, 0.5);
}

.rg-top {
	position: fixed;
	right: 24px;
	bottom: 92px;
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: #fff;
	border: 1px solid var(--rg-border);
	color: var(--rg-accent);
	font-size: 18px;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: all 0.25s ease;
	z-index: 9998;
	box-shadow: 0 4px 14px rgba(15, 27, 45, 0.12);
}

.rg-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.rg-top:hover { border-color: var(--rg-accent); box-shadow: 0 6px 18px rgba(37, 99, 235, 0.25); background: #fff; }

.rg-will-reveal {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity 0.65s ease, transform 0.65s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.rg-revealed { opacity: 1; transform: none; }

/* Section headings draw a gradient underline once revealed */
.elementor-widget-heading.rg-reveal .elementor-heading-title {
	position: relative;
	padding-bottom: 12px;
}

.elementor-widget-heading.rg-reveal.rg-revealed .elementor-heading-title::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	height: 3px;
	width: 0;
	border-radius: 3px;
	background: linear-gradient(90deg, var(--rg-accent), var(--rg-price));
	animation: rg-underline 0.7s 0.25s ease forwards;
}

@keyframes rg-underline { to { width: 64px; } }

.rg-typed { color: var(--rg-accent); }

.rg-typed--ready::after {
	content: '▌';
	margin-left: 2px;
	color: var(--rg-accent);
	animation: rg-blink 0.9s step-end infinite;
}

@keyframes rg-blink { 50% { opacity: 0; } }

/* ---- Ticker marquee (navy contrast strip) ------------------------------------ */
.rg-ticker {
	overflow: hidden;
	background: var(--rg-navy);
	padding: 14px 0;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.rg-ticker__track {
	display: inline-flex;
	align-items: center;
	gap: 28px;
	white-space: nowrap;
	width: max-content;
	animation: rg-marquee 36s linear infinite;
}

.rg-ticker:hover .rg-ticker__track { animation-play-state: paused; }

.rg-ticker__item {
	font-family: var(--rg-font-mono);
	font-size: 15px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #93a8c4;
	transition: color 0.2s ease, text-shadow 0.2s ease;
}

.rg-ticker__item:hover {
	color: #fff;
	text-shadow: 0 0 14px rgba(126, 177, 255, 0.8);
}

.rg-ticker__sep { color: var(--rg-price); font-size: 9px; opacity: 0.85; }

@keyframes rg-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/* ---- Animated stats ------------------------------------------------------------ */
.rg-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	width: 100%;
}

@media (max-width: 880px) { .rg-stats { grid-template-columns: repeat(2, 1fr); } }

.rg-stats__item {
	text-align: center;
	padding: 26px 12px;
	background: linear-gradient(180deg, rgba(37, 99, 235, 0.05), transparent 60%), #fff;
	border: 1px solid var(--rg-border);
	border-radius: var(--rg-radius);
	transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
	box-shadow: 0 1px 3px rgba(15, 27, 45, 0.05);
}

.rg-stats__item:hover {
	border-color: var(--rg-accent);
	transform: translateY(-3px);
	box-shadow: 0 12px 26px rgba(37, 99, 235, 0.14);
}

.rg-stats__num, .rg-stats__suffix {
	font-family: var(--rg-font-mono);
	font-size: 42px;
	color: var(--rg-accent);
}

.rg-stats__label {
	display: block;
	margin-top: 6px;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--rg-muted);
}

/* ---- FAQ accordion ---------------------------------------------------------------- */
.rg-faq { width: 100%; max-width: 860px; margin: 0 auto; }

.rg-faq__item {
	background: #fff;
	border: 1px solid var(--rg-border);
	border-radius: var(--rg-radius);
	margin-bottom: 12px;
	overflow: hidden;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
	box-shadow: 0 1px 3px rgba(15, 27, 45, 0.05);
}

.rg-faq__item[open] { border-color: var(--rg-accent); box-shadow: 0 8px 22px rgba(37, 99, 235, 0.12); }

.rg-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	cursor: pointer;
	list-style: none;
	padding: 18px 22px;
	font-family: var(--rg-font-head);
	font-weight: 600;
	font-size: 17px;
	color: var(--rg-navy);
	transition: color 0.2s ease;
}

.rg-faq__q::-webkit-details-marker { display: none; }
.rg-faq__q:hover { color: var(--rg-accent); }

.rg-faq__icon {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	position: relative;
}

.rg-faq__icon::before, .rg-faq__icon::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 2px;
	background: var(--rg-accent);
	transform: translate(-50%, -50%);
	transition: transform 0.3s ease;
}

.rg-faq__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.rg-faq__item[open] .rg-faq__icon::after { transform: translate(-50%, -50%) rotate(0deg); }

.rg-faq__a { padding: 0 22px 18px; color: var(--rg-muted); }
.rg-faq__a p { margin: 0; }

/* ---- Hero helpers ------------------------------------------------------------------ */
.rg-hero-badge {
	font-family: var(--rg-font-mono);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-size: 13px;
	color: var(--rg-accent);
	border: 1px solid rgba(37, 99, 235, 0.3);
	border-radius: 999px;
	padding: 8px 18px;
	background: rgba(37, 99, 235, 0.06);
	display: inline-block;
}

.rg-kicker {
	font-family: var(--rg-font-mono);
	font-size: 12px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--rg-price);
}

.rg-kicker::before { content: '// '; opacity: 0.7; }

/* ==========================================================================
   Header v2: top bar, search, mega menu nav
   ========================================================================== */

.rg-topbar {
	background: var(--rg-navy);
	font-size: 12.5px;
}

.rg-topbar__in {
	max-width: 1200px;
	margin: 0 auto;
	padding: 7px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.rg-topbar__item { color: #93a8c4; letter-spacing: 0.02em; }

.rg-topbar__links { display: flex; gap: 18px; }
.rg-topbar__links a { color: #fff; text-decoration: none; font-weight: 500; }
.rg-topbar__links a:hover { color: #7eb1ff; }

@media (max-width: 640px) { .rg-topbar__item { display: none; } .rg-topbar__in { justify-content: center; } }

/* ---- Search --------------------------------------------------------------- */
.rg-search {
	display: flex;
	width: 100%;
	max-width: 460px;
	border: 2px solid var(--rg-accent);
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	transition: box-shadow 0.2s ease;
}

.rg-search:focus-within { box-shadow: 0 0 0 3px var(--rg-accent-soft); }

.rg-search__input {
	flex: 1;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 11px 16px;
	color: var(--rg-text);
	font-size: 14px;
}

.rg-search__input:focus { outline: none; }

.rg-search__btn {
	background: var(--rg-accent);
	color: #fff;
	border: none;
	padding: 0 18px;
	font-size: 20px;
	cursor: pointer;
	border-radius: 0;
}

.rg-search__btn:hover { background: var(--rg-accent-dark); }

/* ---- Header layout: single compact row on desktop --------------------------- */
.rg-hdr__in {
	max-width: 1200px;
	margin: 0 auto;
	padding: 9px 20px;
	display: grid;
	align-items: center;
	gap: 6px 16px;
	grid-template-columns: auto 1fr auto auto;
	grid-template-areas: 'logo nav search wa';
}

.rg-hdr__logo { grid-area: logo; display: flex; align-items: center; }
.rg-hdr__logo-img { max-height: 40px; width: auto; }
.rg-hdr__logo-text { font-family: var(--rg-font-head); font-size: 22px; color: var(--rg-navy); }
.rg-hdr__logo-text b { color: var(--rg-accent); }

.rg-search { grid-area: search; justify-self: end; max-width: 250px; }

.rg-hdr__wa {
	grid-area: wa;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--rg-wa);
	color: #fff;
	font-family: var(--rg-font-head);
	font-weight: 600;
	font-size: 14px;
	padding: 10px 18px;
	border-radius: 8px;
	text-decoration: none;
	transition: background 0.2s ease, box-shadow 0.2s ease;
}

.rg-hdr__wa:hover { background: #1eb855; color: #fff; box-shadow: 0 6px 16px rgba(37, 211, 102, 0.35); }
.rg-hdr__wa svg { flex: 0 0 auto; }

/* ---- Nav + mega menu --------------------------------------------------------- */
.rg-nav { grid-area: nav; position: relative; justify-self: start; padding-left: 8px; }

.rg-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 2px;
	align-items: center;
}

.rg-nav__list > li { position: relative; }

.rg-nav__close-row { display: none; }

.rg-nav__list > li > a {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 10px 13px;
	color: var(--rg-navy);
	font-family: var(--rg-font-head);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0.02em;
	text-decoration: none;
	border-radius: 8px;
	transition: color 0.2s ease, background 0.2s ease;
}

.rg-nav__list > li > a:hover { color: var(--rg-accent); background: var(--rg-accent-soft); }

.rg-nav__caret {
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform 0.2s ease;
}

.rg-nav__has-mega:hover .rg-nav__caret,
.rg-nav__has-drop:hover .rg-nav__caret { transform: rotate(225deg) translateY(-1px); }

.rg-nav__drop {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 250px;
	list-style: none;
	margin: 0;
	padding: 10px;
	background: #fff;
	border: 1px solid var(--rg-border);
	border-radius: 12px;
	box-shadow: 0 20px 44px rgba(15, 27, 45, 0.16);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: all 0.22s ease;
	z-index: 1001;
}

.rg-nav__has-drop:hover .rg-nav__drop { opacity: 1; visibility: visible; transform: none; }

.rg-nav__drop a {
	display: block;
	padding: 10px 14px;
	color: var(--rg-text);
	text-decoration: none;
	border-radius: 8px;
	font-size: 14px;
}

.rg-nav__drop a:hover { background: var(--rg-accent-soft); color: var(--rg-accent); }

.rg-mega {
	position: fixed;
	left: 50%;
	transform: translateX(-50%) translateY(12px);
	width: min(1160px, calc(100vw - 32px));
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 26px;
	padding: 26px;
	background: linear-gradient(180deg, rgba(37, 99, 235, 0.04), transparent 30%), #fff;
	border: 1px solid var(--rg-border);
	border-radius: 16px;
	box-shadow: 0 28px 64px rgba(15, 27, 45, 0.2);
	opacity: 0;
	visibility: hidden;
	transition: all 0.25s ease;
	z-index: 1001;
}

.rg-nav__has-mega:hover .rg-mega {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

.rg-mega__grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 14px;
}

.rg-mega__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	background: var(--rg-bg);
	border: 1px solid var(--rg-border);
	border-radius: 12px;
	padding: 14px 10px;
	text-align: center;
	transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.rg-mega__card:hover {
	border-color: var(--rg-accent);
	transform: translateY(-3px);
	box-shadow: 0 10px 22px rgba(37, 99, 235, 0.16);
}

.rg-mega__thumb img {
	width: 74px;
	height: 74px;
	object-fit: cover;
	border-radius: 10px;
	background: #fff;
}

.rg-mega__name {
	color: var(--rg-navy);
	font-family: var(--rg-font-head);
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.3;
}

.rg-mega__count {
	font-family: var(--rg-font-mono);
	font-size: 11px;
	color: var(--rg-price);
}

.rg-mega__side {
	border-left: 1px solid var(--rg-border);
	padding-left: 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	color: var(--rg-muted);
	font-size: 14px;
}

.rg-mega__side-title { margin: 0; font-family: var(--rg-font-mono); color: var(--rg-price); letter-spacing: 0.15em; text-transform: uppercase; font-size: 12px; }
.rg-mega__side p { margin: 0; }
.rg-mega__side .rajagsm-wa-btn { justify-content: center; }
.rg-mega__side-link { color: var(--rg-navy); text-decoration: none; font-weight: 500; }
.rg-mega__side-link:hover { color: var(--rg-accent); }

.rg-nav__burger {
	display: none;
	flex-direction: column;
	gap: 5px;
	background: #fff;
	border: 1px solid var(--rg-border);
	border-radius: 8px;
	padding: 10px;
	cursor: pointer;
}

.rg-nav__burger span {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--rg-accent);
	transition: transform 0.25s ease, opacity 0.25s ease;
}

.rg-nav__burger:hover { box-shadow: 0 4px 12px rgba(37, 99, 235, 0.2); background: #fff; }

@media (max-width: 1024px) {
	/* Compact mobile header: burger | centered logo | WhatsApp icon, search below */
	.rg-hdr__in {
		grid-template-columns: 44px 1fr 44px;
		grid-template-areas:
			'nav    logo   wa'
			'search search search';
		gap: 8px 10px;
		padding: 8px 12px 10px;
	}

	.rg-hdr__logo { justify-self: center; }
	.rg-hdr__logo-img { max-height: 34px; }

	.rg-hdr__wa {
		justify-self: end;
		width: 40px;
		height: 40px;
		padding: 0;
		border-radius: 50%;
		justify-content: center;
	}

	.rg-hdr__wa-text { display: none; }

	.rg-search { max-width: none; width: 100%; }
	.rg-search__input { padding: 9px 14px; }
	.rg-search__btn { padding: 0 15px; font-size: 17px; }

	.rg-nav { width: auto; }
	.rg-nav__list { border-top: none; }

	/* Collapse topbar + search while scrolling down; reappear on scroll up */
	.rg-topbar,
	.rg-hdr .rg-search {
		transition: max-height 0.3s ease, opacity 0.3s ease, margin 0.3s ease;
		max-height: 60px;
		overflow: hidden;
	}

	body.rg-hdr-collapsed .rg-topbar,
	body.rg-hdr-collapsed .rg-hdr .rg-search {
		max-height: 0;
		opacity: 0;
		margin: 0;
	}

	.rg-nav__burger { display: inline-flex; }

	.rg-nav.is-open .rg-nav__burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.rg-nav.is-open .rg-nav__burger span:nth-child(2) { opacity: 0; }
	.rg-nav.is-open .rg-nav__burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

	/* Full-screen mobile menu */
	.rg-nav__list {
		position: fixed;
		inset: 0;
		width: 100vw;
		height: 100dvh;
		flex-direction: column;
		align-items: stretch;
		gap: 2px;
		background: #fff;
		padding: 12px 18px 40px;
		transform: translateX(100%);
		transition: transform 0.3s ease;
		overflow-y: auto;
		z-index: 100000; /* above sticky header and admin bar */
	}

	.rg-nav.is-open .rg-nav__list { transform: none; }

	.rg-nav__close-row {
		display: flex;
		justify-content: flex-end;
		position: sticky;
		top: 0;
		background: #fff;
		padding-bottom: 6px;
		z-index: 2;
	}

	.rg-nav__close {
		background: var(--rg-surface-2);
		border: 1px solid var(--rg-border);
		border-radius: 10px;
		width: 44px;
		height: 44px;
		font-size: 20px;
		line-height: 1;
		color: var(--rg-navy);
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.rg-nav__close:hover { border-color: var(--rg-accent); color: var(--rg-accent); background: var(--rg-surface-2); }

	/* Bigger tap targets in the full-screen menu */
	.rg-nav__list > li > a {
		font-size: 18px;
		padding: 15px 10px;
		border-bottom: 1px solid var(--rg-surface-2);
		border-radius: 0;
	}

	body.rg-nav-open { overflow: hidden; }

	.rg-mega, .rg-nav__drop {
		position: static;
		transform: none;
		width: auto;
		display: none;
		opacity: 1;
		visibility: visible;
		box-shadow: none;
		grid-template-columns: 1fr;
		padding: 12px;
	}

	.rg-nav__list > li.is-expanded .rg-mega { display: grid; }
	.rg-nav__list > li.is-expanded .rg-nav__drop { display: block; }

	.rg-mega__grid { grid-template-columns: repeat(2, 1fr); }
	.rg-mega__side { border-left: none; padding-left: 0; }
}

/* ==========================================================================
   Unlock form + combobox + contact cards
   ========================================================================== */
.rg-unlock {
	width: 100%;
	max-width: 880px;
	margin: 0 auto;
	background: linear-gradient(180deg, rgba(37, 99, 235, 0.04), transparent 50%), #fff;
	border: 1px solid var(--rg-border);
	border-radius: 16px;
	padding: 30px;
	box-shadow: 0 8px 30px rgba(15, 27, 45, 0.08);
}

.rg-unlock__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
	margin-bottom: 22px;
}

@media (max-width: 720px) { .rg-unlock__grid { grid-template-columns: 1fr; } }

.rg-unlock__field { display: flex; flex-direction: column; gap: 7px; }
.rg-unlock__field[hidden] { display: none; }
.rg-unlock__field--wide { grid-column: 1 / -1; }

.rg-unlock__field > span {
	font-family: var(--rg-font-head);
	font-weight: 600;
	font-size: 13.5px;
	color: var(--rg-navy);
	letter-spacing: 0.03em;
}

.rg-unlock__field small { color: var(--rg-muted); font-weight: 400; }

.rg-unlock__error { color: #dc2626; font-weight: 600; }

.rg-unlock__note { margin-top: 14px; font-size: 13px; color: var(--rg-muted); }

/* Searchable model combobox */
.rg-combo { position: relative; }

.rg-combo__input { width: 100%; }

.rg-combo__list {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	max-height: 280px;
	overflow-y: auto;
	margin: 0;
	padding: 6px;
	list-style: none;
	background: #fff;
	border: 1px solid var(--rg-accent);
	border-radius: 10px;
	box-shadow: 0 16px 40px rgba(15, 27, 45, 0.18);
	z-index: 50;
	scrollbar-width: thin;
	scrollbar-color: var(--rg-border) transparent;
}

.rg-combo__list li {
	padding: 9px 12px;
	border-radius: 7px;
	cursor: pointer;
	color: var(--rg-text);
	font-size: 14.5px;
	margin: 0;
}

.rg-combo__list li:hover,
.rg-combo__list li.is-active {
	background: var(--rg-accent-soft);
	color: var(--rg-accent);
}

.rg-combo__list mark {
	background: transparent;
	color: var(--rg-accent);
	font-weight: 700;
}

.rg-combo__empty {
	color: var(--rg-muted);
	cursor: default;
	font-style: italic;
}

.rg-combo__empty:hover { background: transparent; color: var(--rg-muted); }

.rg-combo__other {
	border-top: 1px solid var(--rg-border);
	margin-top: 4px !important;
	padding-top: 11px !important;
	color: var(--rg-accent);
	font-weight: 600;
	position: sticky;
	bottom: -6px;
	background: #fff;
}

.rg-unlock__manual {
	animation: rg-manual-in 0.3s ease;
}

@keyframes rg-manual-in {
	from { opacity: 0; transform: translateY(-8px); }
	to   { opacity: 1; transform: none; }
}

/* Contact cards */
.rg-contact-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	width: 100%;
}

@media (max-width: 880px) { .rg-contact-grid { grid-template-columns: 1fr; } }

.rg-contact-card {
	background: #fff;
	border: 1px solid var(--rg-border);
	border-radius: var(--rg-radius);
	padding: 26px;
	text-align: center;
	transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
	box-shadow: 0 1px 3px rgba(15, 27, 45, 0.05);
}

.rg-contact-card:hover { border-color: var(--rg-accent); box-shadow: 0 12px 26px rgba(37, 99, 235, 0.14); transform: translateY(-3px); }

.rg-contact-card__icon { font-size: 34px; display: block; margin-bottom: 10px; }
.rg-contact-card h3 { font-size: 18px; margin: 0 0 8px; }
.rg-contact-card p { color: var(--rg-muted); margin: 0 0 6px; font-size: 14.5px; }
.rg-contact-card a { font-weight: 600; }

/* ==========================================================================
   Custom PDP (single product)
   ========================================================================== */
.rg-pdp {
	max-width: 1200px;
	margin: 0 auto;
	padding: 18px 20px 80px;
}

.rg-pdp__crumbs .woocommerce-breadcrumb { margin-bottom: 18px; font-size: 13px; }

.rg-pdp__top {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: 44px;
	align-items: start;
}

/* Gallery */
.rg-pdp__gallery { position: sticky; top: 120px; }

.rg-pdp__stage {
	position: relative;
	background: #fff;
	border: 1px solid var(--rg-border);
	border-radius: 16px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 380px;
	box-shadow: 0 2px 10px rgba(15, 27, 45, 0.06);
}

.rg-pdp__main-img, .rg-pdp__stage img {
	max-height: 520px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	border-radius: 0;
	transition: opacity 0.25s ease;
}

.rg-pdp__main-img.is-fading { opacity: 0; }

.rg-pdp__badge {
	position: absolute;
	top: 14px;
	left: 14px;
	background: var(--rg-price);
	color: #fff;
	font-family: var(--rg-font-mono);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 5px 12px;
	border-radius: 999px;
}

.rg-pdp__thumbs {
	display: flex;
	gap: 8px;
	margin-top: 10px;
	flex-wrap: wrap;
}

.rg-pdp__thumb {
	width: 70px;
	height: 70px;
	padding: 3px;
	background: #fff;
	border: 2px solid var(--rg-border);
	border-radius: 10px;
	cursor: pointer;
	overflow: hidden;
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.rg-pdp__thumb::after { display: none; }
.rg-pdp__thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: 6px; }
.rg-pdp__thumb:hover { transform: translateY(-2px); border-color: var(--rg-accent); background: #fff; box-shadow: none; }
.rg-pdp__thumb.is-active { border-color: var(--rg-accent); }

/* Buy panel */
.rg-pdp__panel { display: flex; flex-direction: column; gap: 16px; }

.rg-pdp__cat {
	align-self: flex-start;
	font-family: var(--rg-font-mono);
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--rg-accent);
	background: var(--rg-accent-soft);
	padding: 5px 12px;
	border-radius: 999px;
	text-decoration: none;
}

.rg-pdp__title {
	font-size: 28px;
	line-height: 1.25;
	margin: 0;
	overflow-wrap: anywhere;
}

.rg-pdp__price-box {
	background: linear-gradient(135deg, rgba(37, 99, 235, 0.05), rgba(249, 115, 22, 0.05)), #fff;
	border: 1px solid var(--rg-border);
	border-radius: 12px;
	padding: 16px 20px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.rg-pdp__price, .rg-pdp__price .woocommerce-Price-amount {
	font-family: var(--rg-font-mono);
	font-size: 30px;
	color: var(--rg-price);
	font-weight: 700;
}

.rg-pdp__price del { font-size: 20px; color: var(--rg-muted); margin-right: 8px; }
.rg-pdp__price ins { text-decoration: none; }
.rg-pdp__price .rajagsm-ask-price { font-size: 24px; }

.rg-pdp__price-note { font-size: 12.5px; color: var(--rg-muted); font-style: italic; }

.rg-pdp__short { color: var(--rg-muted); }
.rg-pdp__short p { margin: 0 0 8px; }

.rg-pdp__cta { display: flex; flex-direction: column; gap: 10px; }
.rg-pdp__order { justify-content: center; font-size: 18px; margin-top: 0; }
.rg-pdp__ask { text-align: center; font-weight: 600; text-decoration: none; }

.rg-pdp__trust {
	list-style: none;
	margin: 0;
	padding: 14px 18px;
	background: var(--rg-surface-2);
	border-radius: 12px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 14px;
	font-size: 13.5px;
	color: var(--rg-text);
}

.rg-pdp__trust li { margin: 0; }

.rg-pdp__meta { margin: 0; display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; }
.rg-pdp__meta div { display: flex; gap: 10px; }
.rg-pdp__meta dt { font-weight: 700; color: var(--rg-navy); min-width: 92px; }
.rg-pdp__meta dd { margin: 0; color: var(--rg-muted); overflow-wrap: anywhere; }

/* Lower sections */
.rg-pdp__section { margin-top: 56px; }
.rg-pdp__section > h2 { font-size: 28px; margin: 6px 0 22px; }
.rg-pdp__section > h2 span { color: var(--rg-accent); }
.rg-pdp__desc { color: var(--rg-text); max-width: 880px; }

/* Sticky mobile order bar */
.rg-pdp__bar {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9990;
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(8px);
	border-top: 1px solid var(--rg-border);
	padding: 10px 14px;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
	box-shadow: 0 -6px 22px rgba(15, 27, 45, 0.1);
}

.rg-pdp__bar-price, .rg-pdp__bar-price .woocommerce-Price-amount {
	font-family: var(--rg-font-mono);
	font-weight: 700;
	font-size: 18px;
	color: var(--rg-price);
	white-space: nowrap;
}

.rg-pdp__bar-btn { padding: 11px 18px; font-size: 14px; flex: 0 0 auto; }

@media (max-width: 1024px) {
	.rg-pdp__top { grid-template-columns: 1fr; gap: 24px; }
	.rg-pdp__gallery { position: static; }
	.rg-pdp__stage { min-height: 0; }
	.rg-pdp__main-img, .rg-pdp__stage img { max-height: 340px; }
	.rg-pdp__title { font-size: 20px; }
	.rg-pdp__price, .rg-pdp__price .woocommerce-Price-amount { font-size: 24px; }
	.rg-pdp__trust { grid-template-columns: 1fr; }
	.rg-pdp__bar { display: flex; }
	.rg-pdp { padding-bottom: 30px; }
	body.single-product .rajagsm-wa-float { display: none; } /* the bar replaces it */
	body.single-product footer, body.single-product .ekit-template-content-footer { padding-bottom: 70px; }
	.rg-pdp__section { margin-top: 36px; }
	.rg-pdp__section > h2 { font-size: 22px; }
}

/* ---- Mobile ----------------------------------------------------------------- */
@media (max-width: 768px) {
	.woocommerce ul.products[class*="columns-"] li.product,
	.woocommerce-page ul.products[class*="columns-"] li.product {
		width: 48% !important;
		float: left !important;
		clear: none !important;
		margin: 0 4% 4% 0 !important;
	}
	.woocommerce ul.products[class*="columns-"] li.product:nth-child(2n),
	.woocommerce-page ul.products[class*="columns-"] li.product:nth-child(2n) {
		margin-right: 0 !important;
	}
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 13px;
		min-height: 36px;
	}

	/* Single product & posts: scale typography for phones */
	.woocommerce div.product .product_title { font-size: 19px; line-height: 1.4; }
	.woocommerce div.product p.price { font-size: 20px; }
	.woocommerce .woocommerce-breadcrumb {
		font-size: 11.5px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 100%;
	}
	.rajagsm-wa-btn--single { width: 100%; justify-content: center; }
	h1.entry-title, .entry-title { font-size: 24px; line-height: 1.3; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 0 10px; font-size: 13px; }

	/* Tighter type & components on small screens */
	.rg-stats__num, .rg-stats__suffix { font-size: 29px; }
	.rg-stats__item { padding: 18px 10px; }
	.rg-stats { gap: 12px; }
	.rg-ticker { padding: 10px 0; }
	.rg-ticker__item { font-size: 13px; }
	.rg-hero-badge { font-size: 11px; padding: 6px 12px; letter-spacing: 0.12em; }
	.elementor-button { padding: 12px 20px !important; }
	.rg-unlock { padding: 20px 16px; }
	.rg-topbar__in { padding: 5px 12px; }
	h1 { line-height: 1.18; }
}
