/* Daily Rashi Fol — Homepage section + modal */
.rashi-section {
	position: relative;
	padding: 80px 16px 90px;
	background: radial-gradient(ellipse at 20% 0%, #1a0d3a 0%, #0b0420 60%, #050010 100%);
	color: #fff;
	overflow: hidden;
	isolation: isolate;
}
.rashi-section::before {
	content: '';
	position: absolute; inset: 0;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><circle cx="10" cy="20" r="0.6" fill="white" opacity="0.5"/><circle cx="80" cy="14" r="0.4" fill="white" opacity="0.7"/><circle cx="50" cy="60" r="0.5" fill="white" opacity="0.5"/><circle cx="30" cy="80" r="0.7" fill="white" opacity="0.6"/><circle cx="65" cy="40" r="0.4" fill="white" opacity="0.4"/><circle cx="90" cy="70" r="0.5" fill="white" opacity="0.5"/><circle cx="20" cy="48" r="0.3" fill="white" opacity="0.6"/><circle cx="75" cy="85" r="0.5" fill="white" opacity="0.5"/></svg>');
	opacity: .35;
	pointer-events: none;
	z-index: 0;
}
.rashi-bg-orbit {
	position: absolute; left: -180px; top: -180px;
	width: 540px; height: 540px;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 30%, rgba(255, 195, 102, .25), transparent 60%);
	filter: blur(40px);
	z-index: 0;
	animation: rashiFloat 14s ease-in-out infinite;
}
.rashi-bg-orbit--small {
	left: auto; right: -120px; top: auto; bottom: -160px;
	width: 420px; height: 420px;
	background: radial-gradient(circle at 70% 70%, rgba(255, 73, 124, .25), transparent 60%);
	animation-duration: 18s;
}
@keyframes rashiFloat {
	0%, 100% { transform: translate(0, 0); }
	50% { transform: translate(20px, -30px); }
}
.rashi-stars {
	position: absolute; inset: 0;
	background-image: radial-gradient(circle, #ffe7a3 1px, transparent 1px),
		radial-gradient(circle, #fff 1px, transparent 1px);
	background-size: 200px 200px, 320px 320px;
	background-position: 0 0, 80px 100px;
	opacity: .25;
	z-index: 0;
	pointer-events: none;
	animation: rashiTwinkle 6s ease-in-out infinite;
}
@keyframes rashiTwinkle {
	0%, 100% { opacity: .15; }
	50% { opacity: .35; }
}

.rashi-container {
	position: relative; z-index: 1;
	max-width: 1280px; margin: 0 auto;
}

.rashi-section-head { text-align: center; margin-bottom: 44px; }
.rashi-eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 7px 18px;
	background: linear-gradient(135deg, rgba(255, 195, 102, .2), rgba(255, 73, 124, .2));
	border: 1px solid rgba(255, 195, 102, .35);
	border-radius: 999px;
	color: #ffd277; font-weight: 600; font-size: 12px;
	letter-spacing: .14em; text-transform: uppercase;
	margin-bottom: 18px;
}
.rashi-eyebrow i { color: #ffc466; }
.rashi-section-title {
	font-family: 'Fraunces', 'Playfair Display', Georgia, serif;
	font-size: clamp(28px, 4vw, 46px);
	font-weight: 700;
	line-height: 1.15;
	margin: 0 0 12px;
	background: linear-gradient(135deg, #ffe6a8 0%, #ffffff 50%, #ffb6d1 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.rashi-section-sub {
	max-width: 600px; margin: 0 auto;
	font-size: 16px; opacity: .8; line-height: 1.55;
}
.rashi-section-date {
	display: inline-block; margin-top: 14px;
	padding: 6px 16px; border-radius: 999px;
	background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .15);
	font-size: 13px; font-weight: 600; letter-spacing: .03em;
}

/* Zodiac grid */
.rashi-zodiac-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 16px;
}
@media (max-width: 1100px) { .rashi-zodiac-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 760px)  { .rashi-zodiac-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 480px)  { .rashi-zodiac-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; } }

.rashi-tile {
	all: unset;
	cursor: pointer;
	display: flex; flex-direction: column; align-items: center; gap: 6px;
	padding: 22px 14px 18px;
	background: rgba(255, 255, 255, .04);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 18px;
	text-align: center;
	color: #fff;
	position: relative;
	overflow: hidden;
	backdrop-filter: blur(8px);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.rashi-tile::before {
	content: '';
	position: absolute; inset: -1px;
	background: linear-gradient(135deg, rgba(255, 195, 102, .35), transparent 40%, rgba(255, 73, 124, .3));
	border-radius: 18px;
	opacity: 0;
	transition: opacity .3s ease;
	z-index: 0;
	pointer-events: none;
}
.rashi-tile > * { position: relative; z-index: 1; }
.rashi-tile:hover {
	transform: translateY(-6px) scale(1.02);
	border-color: rgba(255, 195, 102, .45);
	box-shadow: 0 18px 40px rgba(255, 73, 124, .25), 0 0 0 1px rgba(255, 195, 102, .25) inset;
	background: rgba(255, 255, 255, .08);
}
.rashi-tile:hover::before { opacity: 1; }
.rashi-tile:focus-visible { outline: 2px solid #ffc466; outline-offset: 3px; }

.rashi-tile-glyph {
	font-size: 38px; line-height: 1;
	background: linear-gradient(135deg, #ffe6a8, #ffb6d1);
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent;
	margin-bottom: 2px;
}
.rashi-tile-glyph--img {
	background: none; -webkit-text-fill-color: unset;
	display: flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; margin: 0 auto 4px;
}
.rashi-tile-glyph--img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.rashi-tile-icon { color: #ffc466; font-size: 14px; opacity: .8; }
.rashi-tile-name {
	font-family: 'Fraunces', serif;
	font-size: 17px; font-weight: 700;
	letter-spacing: .02em;
}
.rashi-tile-sanskrit {
	font-size: 12px; color: #ffd9a3; opacity: .85;
	letter-spacing: .04em;
}
.rashi-tile-range { font-size: 10.5px; opacity: .65; letter-spacing: .04em; text-transform: uppercase; }
.rashi-tile-dot {
	position: absolute; top: 12px; right: 12px;
	width: 8px; height: 8px; border-radius: 50%;
	background: #4ade80;
	box-shadow: 0 0 0 4px rgba(74, 222, 128, .25);
	animation: rashiPulse 1.6s ease-in-out infinite;
}
@keyframes rashiPulse {
	0%, 100% { box-shadow: 0 0 0 4px rgba(74, 222, 128, .25); }
	50% { box-shadow: 0 0 0 8px rgba(74, 222, 128, 0); }
}
.rashi-tile.is-empty { opacity: .65; }
.rashi-tile.is-empty:hover { opacity: 1; }

/* Element-flavoured accents */
.rashi-tile--Fire .rashi-tile-icon  { color: #ff7a59; }
.rashi-tile--Earth .rashi-tile-icon { color: #a3d977; }
.rashi-tile--Air .rashi-tile-icon   { color: #8fc8ff; }
.rashi-tile--Water .rashi-tile-icon { color: #6ee0d6; }

/* ════════════════════════════════════════════════
   RASHI MODAL — Professional Astrology Design
   Deep Space · Animated Nebula · Zodiac Rings
════════════════════════════════════════════════ */

/* ── Overlay ── */
.rashi-modal {
	position: fixed !important; inset: 0 !important;
	z-index: 99999 !important;
	display: -webkit-flex !important; display: flex !important;
	align-items: center !important; justify-content: center !important;
	padding: 16px !important;
}
.rashi-modal[hidden] { display: none !important; }

.rashi-modal-backdrop {
	position: absolute; inset: 0;
	background: rgba(2,0,14,.92);
	backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
	cursor: pointer;
}

/* ─────── PANEL ─────── */
.rashi-modal-panel {
	position: relative;
	width: 100%; max-width: 520px;
	border-radius: 28px;
	background: #03000d;
	border: 1px solid rgba(201,169,97,.32);
	box-shadow:
		0 0 0 1px rgba(201,169,97,.07),
		0 0 80px rgba(110,40,210,.55),
		0 60px 140px rgba(0,0,0,.9),
		inset 0 1px 0 rgba(255,255,255,.06);
	overflow: hidden;
	animation: rmModalIn .42s cubic-bezier(.16,1,.3,1);
	max-height: calc(100vh - 32px);
}
@keyframes rmModalIn {
	from { transform: translateY(32px) scale(.93); opacity: 0; }
	to   { transform: none; opacity: 1; }
}

/* Scrollable inner so overflow:hidden clips bg layers */
.rashi-modal-scroll {
	position: relative; z-index: 3;
	max-height: calc(100vh - 32px);
	overflow-y: auto; overflow-x: hidden;
	scrollbar-width: thin;
	scrollbar-color: rgba(201,169,97,.28) transparent;
}

/* ─────── ANIMATED BACKGROUND LAYERS ─────── */

/* Layer A — animated nebula blobs */
.rm-bg {
	position: absolute; inset: 0; z-index: 0;
	pointer-events: none; border-radius: 28px; overflow: hidden;
}
.rm-bg::before {
	content: '';
	position: absolute; inset: -60px;
	background:
		radial-gradient(ellipse 65% 55% at 18% 14%, rgba(100,18,230,.58) 0%, transparent 52%),
		radial-gradient(ellipse 55% 48% at 85% 82%, rgba(190,70,18,.38) 0%, transparent 52%),
		radial-gradient(ellipse 62% 42% at 62% 6%,  rgba(18,55,200,.32) 0%, transparent 50%),
		radial-gradient(ellipse 48% 58% at 8%  88%, rgba(185,18,140,.28) 0%, transparent 52%),
		radial-gradient(ellipse 45% 40% at 90% 30%, rgba(80,18,200,.22) 0%, transparent 50%);
	animation: rmNebula 11s ease-in-out infinite;
	will-change: transform, opacity;
}
@keyframes rmNebula {
	0%,100% { transform: translate(0,0) scale(1);         opacity: .85; }
	30%     { transform: translate(20px,-16px) scale(1.06); opacity: 1;   }
	65%     { transform: translate(-14px,18px) scale(.95); opacity: .7;  }
}

/* Layer B — star field */
.rm-bg::after {
	content: '';
	position: absolute; inset: 0;
	background-image:
		radial-gradient(circle, rgba(255,255,255,.95) 1px, transparent 1px),
		radial-gradient(circle, rgba(255,220,145,.88) 1px, transparent 1px),
		radial-gradient(circle, rgba(255,255,255,.65) 1px, transparent 1px),
		radial-gradient(circle, rgba(215,190,255,.75) 1px, transparent 1px),
		radial-gradient(circle, rgba(255,255,255,.5)  1px, transparent 1px),
		radial-gradient(circle, rgba(255,210,120,.6)  1px, transparent 1px);
	background-size: 130px 140px, 220px 235px, 90px 98px, 310px 320px, 168px 175px, 260px 270px;
	background-position: 14px 20px, 72px 46px, 42px 118px, 26px 195px, 138px 82px, 55px 270px;
	animation: rmStars 5s ease-in-out infinite;
}
@keyframes rmStars {
	0%,100% { opacity: .26; }
	50%     { opacity: .52; }
}

/* ─────── CLOSE BUTTON ─────── */
.rashi-modal-close {
	position: absolute; top: 14px; right: 14px; z-index: 10;
	width: 34px; height: 34px; border-radius: 50%;
	border: 1px solid rgba(201,169,97,.32);
	background: rgba(0,0,0,.55);
	backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
	color: rgba(255,255,255,.75); font-size: 14px; cursor: pointer;
	display: -webkit-inline-flex; display: inline-flex;
	align-items: center; justify-content: center;
	transition: all .2s ease;
	-webkit-appearance: none; appearance: none;
}
.rashi-modal-close:hover {
	background: rgba(201,169,97,.22);
	border-color: rgba(201,169,97,.65);
	color: #ffd27a;
	transform: rotate(90deg) scale(1.12);
}

/* ─────── BANNER (hero top) ─────── */
.rashi-modal-banner {
	position: relative;
	padding: 52px 28px 36px;
	text-align: center; overflow: hidden;
	background: linear-gradient(180deg, rgba(20,6,60,.6) 0%, transparent 100%);
}

/* Rotating light-ray burst behind glyph */
.rm-rays {
	position: absolute;
	top: 55%; left: 50%;
	transform: translate(-50%, -50%);
	width: 600px; height: 600px;
	z-index: 0; pointer-events: none;
}
.rm-rays::before {
	content: '';
	position: absolute; inset: 0; border-radius: 50%;
	background: conic-gradient(
		from 0deg,
		transparent 0deg,   rgba(201,169,97,.07)  8deg,  transparent 16deg,
		transparent 30deg,  rgba(201,169,97,.05)  38deg, transparent 46deg,
		transparent 60deg,  rgba(201,169,97,.07)  68deg, transparent 76deg,
		transparent 90deg,  rgba(201,169,97,.05)  98deg, transparent 106deg,
		transparent 120deg, rgba(201,169,97,.07) 128deg, transparent 136deg,
		transparent 150deg, rgba(201,169,97,.05) 158deg, transparent 166deg,
		transparent 180deg, rgba(201,169,97,.07) 188deg, transparent 196deg,
		transparent 210deg, rgba(201,169,97,.05) 218deg, transparent 226deg,
		transparent 240deg, rgba(201,169,97,.07) 248deg, transparent 256deg,
		transparent 270deg, rgba(201,169,97,.05) 278deg, transparent 286deg,
		transparent 300deg, rgba(201,169,97,.07) 308deg, transparent 316deg,
		transparent 330deg, rgba(201,169,97,.05) 338deg, transparent 346deg
	);
	animation: rmRaysSpin 36s linear infinite;
}
.rm-rays::after {
	content: '';
	position: absolute; inset: 60px; border-radius: 50%;
	background: conic-gradient(
		from 15deg,
		transparent 0deg,   rgba(180,80,255,.05)  10deg, transparent 20deg,
		transparent 40deg,  rgba(180,80,255,.04)  50deg, transparent 60deg,
		transparent 80deg,  rgba(180,80,255,.05)  90deg, transparent 100deg,
		transparent 120deg, rgba(180,80,255,.04) 130deg, transparent 140deg,
		transparent 160deg, rgba(180,80,255,.05) 170deg, transparent 180deg,
		transparent 200deg, rgba(180,80,255,.04) 210deg, transparent 220deg,
		transparent 240deg, rgba(180,80,255,.05) 250deg, transparent 260deg,
		transparent 280deg, rgba(180,80,255,.04) 290deg, transparent 300deg,
		transparent 320deg, rgba(180,80,255,.05) 330deg, transparent 340deg
	);
	animation: rmRaysSpin 22s linear infinite reverse;
}
@keyframes rmRaysSpin { to { transform: rotate(360deg); } }

/* Date badge */
.rashi-modal-date {
	position: relative; z-index: 2;
	display: inline-block;
	font-size: 10px; padding: 4px 15px; border-radius: 999px;
	background: rgba(201,169,97,.12);
	border: 1px solid rgba(201,169,97,.38);
	color: #e8c97e; font-weight: 700;
	letter-spacing: .14em; text-transform: uppercase;
	margin-bottom: 26px;
}

/* ─────── GLYPH + RINGS ─────── */
.rashi-modal-glyph-wrap {
	position: relative; z-index: 2;
	display: -webkit-inline-flex; display: inline-flex;
	align-items: center; justify-content: center;
	width: 108px; height: 108px;
	margin: 0 auto 22px;
}

/* 4 rings at different radii & speeds */
.rm-ring {
	position: absolute; border-radius: 50%; pointer-events: none;
}
/* R1 — innermost, solid gold, CW fast */
.rm-r1 {
	inset: 0px;
	border: 1.5px solid rgba(201,169,97,.6);
	animation: rmCW 7s linear infinite;
}
/* R2 — dashed gold, CCW */
.rm-r2 {
	inset: -12px;
	border: 1px dashed rgba(201,169,97,.42);
	animation: rmCCW 13s linear infinite;
}
/* R3 — purple tint, CW slow */
.rm-r3 {
	inset: -26px;
	border: 1px solid rgba(160,70,255,.28);
	animation: rmCW 24s linear infinite;
}
/* R4 — outermost faint dashed, CCW slowest */
.rm-r4 {
	inset: -42px;
	border: 1px dashed rgba(160,70,255,.16);
	animation: rmCCW 38s linear infinite;
}
/* Sweeping comet arc on R2 */
.rm-r2::before {
	content: '';
	position: absolute; inset: -1px; border-radius: 50%;
	background: conic-gradient(from 0deg, transparent 75%, rgba(201,169,97,.7) 88%, rgba(255,240,180,.9) 92%, transparent 100%);
	animation: rmCCW 2.8s linear infinite;
}
/* Sweeping arc on R3 */
.rm-r3::after {
	content: '';
	position: absolute; inset: -1px; border-radius: 50%;
	background: conic-gradient(from 0deg, transparent 78%, rgba(180,80,255,.5) 90%, transparent 100%);
	animation: rmCW 5s linear infinite;
}
/* Radial pulse halo on R1 */
.rm-r1::before {
	content: '';
	position: absolute; inset: -8px; border-radius: 50%;
	background: radial-gradient(circle, rgba(201,169,97,.12) 50%, transparent 80%);
	animation: rmHaloPulse 2.8s ease-in-out infinite;
}
@keyframes rmCW  { to { transform: rotate( 360deg); } }
@keyframes rmCCW { to { transform: rotate(-360deg); } }
@keyframes rmHaloPulse {
	0%,100% { transform: scale(1);   opacity: .5; }
	50%     { transform: scale(1.35); opacity: 1;  }
}

/* Glyph circle */
.rashi-modal-glyph {
	position: relative; z-index: 2;
	width: 100px; height: 100px; border-radius: 50%;
	display: -webkit-flex; display: flex;
	align-items: center; justify-content: center;
	background: radial-gradient(circle at 38% 34%, rgba(201,169,97,.26), rgba(65,12,160,.55) 70%);
	border: 2px solid rgba(201,169,97,.58);
	font-size: 46px; color: #e8c97e;
	box-shadow:
		0 0 32px rgba(201,169,97,.4),
		0 0 80px rgba(201,169,97,.18),
		0 0 120px rgba(201,169,97,.08),
		inset 0 1px 0 rgba(255,255,255,.14),
		inset 0 0 40px rgba(120,40,220,.25);
	text-shadow: 0 0 26px rgba(255,215,130,.75);
	animation: rmGlyphPulse 3.2s ease-in-out infinite;
	overflow: hidden;
}
.rashi-modal-glyph img {
	width: 100%; height: 100%; object-fit: contain; border-radius: 50%;
}
@keyframes rmGlyphPulse {
	0%,100% {
		box-shadow: 0 0 32px rgba(201,169,97,.4), 0 0 80px rgba(201,169,97,.18),
		            0 0 120px rgba(201,169,97,.08), inset 0 1px 0 rgba(255,255,255,.14),
		            inset 0 0 40px rgba(120,40,220,.25);
	}
	50% {
		box-shadow: 0 0 55px rgba(201,169,97,.65), 0 0 130px rgba(201,169,97,.3),
		            0 0 200px rgba(201,169,97,.1),  inset 0 1px 0 rgba(255,255,255,.18),
		            inset 0 0 60px rgba(120,40,220,.38);
	}
}

/* ─────── SIGN NAME ─────── */
.rashi-modal-title {
	position: relative; z-index: 2;
	margin: 0 0 8px !important;
	font-family: 'Fraunces','Playfair Display','EB Garamond',Georgia,serif !important;
	font-size: 28px !important; font-weight: 700 !important; line-height: 1.14 !important;
	letter-spacing: .01em !important;
	background: linear-gradient(135deg, #ffe083 0%, #ffffff 42%, #e8c97e 100%);
	-webkit-background-clip: text !important; background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	text-shadow: none !important;
}
.rashi-modal-sub {
	position: relative; z-index: 2;
	margin: 0 !important; font-size: 12px !important;
	color: rgba(232,201,126,.62) !important;
	letter-spacing: .1em !important; text-transform: uppercase !important;
}

/* ─────── ORNAMENT DIVIDER ─────── */
.rashi-modal-ornament {
	display: -webkit-flex; display: flex;
	align-items: center; gap: 14px;
	padding: 0 26px 22px;
	color: rgba(201,169,97,.5); font-size: 14px;
}
.rashi-modal-ornament-line {
	-webkit-flex: 1; flex: 1; height: 1px;
	background: linear-gradient(90deg, transparent, rgba(201,169,97,.32), transparent);
}
.rashi-modal-ornament-icon {
	display: -webkit-inline-flex; display: inline-flex;
	align-items: center; justify-content: center;
	width: 32px; height: 32px; border-radius: 50%; flex-shrink: 0;
	background: rgba(201,169,97,.08);
	border: 1px solid rgba(201,169,97,.26);
	animation: rmCW 22s linear infinite;
}

/* ─────── FORECAST BODY ─────── */
.rashi-modal-body { padding: 0 24px 22px; }

.rashi-modal-forecast-card {
	position: relative;
	background: rgba(10,4,28,.85);
	border: 1px solid rgba(201,169,97,.2);
	border-radius: 18px; padding: 20px 22px; overflow: hidden;
}
/* Amber corner glow */
.rashi-modal-forecast-card::before {
	content: '';
	position: absolute; top: 0; left: 0;
	width: 150px; height: 150px;
	background: radial-gradient(circle at 0% 0%, rgba(201,169,97,.2), transparent 65%);
	pointer-events: none;
}
/* Purple corner glow */
.rashi-modal-forecast-card::after {
	content: '';
	position: absolute; bottom: 0; right: 0;
	width: 110px; height: 110px;
	background: radial-gradient(circle at 100% 100%, rgba(120,40,220,.14), transparent 65%);
	pointer-events: none;
}

.rashi-modal-forecast-label {
	display: -webkit-inline-flex; display: inline-flex;
	align-items: center; gap: 8px;
	font-size: 10px; font-weight: 700;
	text-transform: uppercase; letter-spacing: .14em;
	color: #c9a961; margin-bottom: 14px;
	padding: 5px 13px;
	background: rgba(201,169,97,.1);
	border: 1px solid rgba(201,169,97,.24);
	border-radius: 999px;
}
.rashi-modal-forecast-label i { font-size: 12px; color: #e8c97e; }

.rashi-modal-content {
	margin: 0 !important; font-size: 15px !important;
	line-height: 1.82 !important; color: rgba(255,248,228,.9) !important;
}

/* Empty state */
.rashi-modal-empty-card {
	display: -webkit-flex; display: flex;
	flex-direction: column; align-items: center; gap: 14px;
	padding: 40px 20px;
	background: rgba(201,169,97,.03);
	border: 1px dashed rgba(201,169,97,.18);
	border-radius: 18px; text-align: center;
}
.rashi-modal-empty-card[hidden] { display: none; }
.rashi-modal-empty-card i { font-size: 34px; color: rgba(201,169,97,.38); }
.rashi-modal-empty-card p {
	margin: 0 !important; font-size: 14px !important;
	color: rgba(255,255,255,.48) !important; line-height: 1.65 !important;
}

/* ─────── CTA FOOTER ─────── */
.rashi-modal-actions {
	display: -webkit-flex; display: flex;
	flex-wrap: wrap; gap: 10px;
	padding: 0 24px 28px;
}
.rashi-cta {
	-webkit-flex: 1 1 0; flex: 1 1 0; min-width: 110px;
	display: -webkit-inline-flex; display: inline-flex;
	align-items: center; justify-content: center; gap: 8px;
	padding: 13px 16px; border-radius: 14px;
	font-weight: 700; font-size: 13px; letter-spacing: .03em;
	text-decoration: none !important;
	transition: transform .15s ease, box-shadow .15s ease, opacity .14s;
	cursor: pointer; white-space: nowrap;
}
.rashi-cta:hover  { transform: translateY(-2px); text-decoration: none !important; }
.rashi-cta:active { transform: translateY(0); opacity: .9; }

/* Gold — Know More */
.rashi-cta--more {
	background: linear-gradient(135deg, #a87820 0%, #e8c97e 48%, #c9a961 100%);
	color: #130800 !important;
	box-shadow: 0 6px 24px rgba(201,169,97,.45);
	border: 1px solid rgba(255,225,140,.25);
}
.rashi-cta--more:hover { box-shadow: 0 10px 34px rgba(201,169,97,.65); color: #130800 !important; }

/* Glass — Call */
.rashi-cta--call {
	background: rgba(255,255,255,.07); color: #fff !important;
	border: 1.5px solid rgba(255,255,255,.18);
	box-shadow: 0 4px 16px rgba(0,0,0,.45);
	backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
.rashi-cta--call:hover {
	background: rgba(255,255,255,.14);
	border-color: rgba(255,255,255,.3); color: #fff !important;
}

/* Green — WhatsApp */
.rashi-cta--wa {
	background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
	color: #fff !important;
	box-shadow: 0 6px 22px rgba(37,211,102,.35);
}
.rashi-cta--wa:hover { box-shadow: 0 10px 32px rgba(37,211,102,.52); color: #fff !important; }

body.rashi-modal-open { overflow: hidden !important; }

/* ─────── RESPONSIVE ─────── */
@media (max-width: 540px) {
	.rashi-modal-panel  { border-radius: 22px; }
	.rashi-modal-banner { padding: 42px 20px 30px; }
	.rashi-modal-glyph-wrap { width: 92px; height: 92px; }
	.rashi-modal-glyph  { width: 84px; height: 84px; font-size: 38px; }
	.rashi-modal-title  { font-size: 23px !important; }
	.rashi-modal-ornament { padding: 0 20px 20px; }
	.rashi-modal-body   { padding: 0 20px 20px; }
	.rashi-modal-actions { padding: 0 20px 24px; flex-direction: column; }
	.rashi-cta { min-width: 0; }
	.rm-r3, .rm-r4 { display: none; }
}
