/* ===== Design Tokens ===== */
:root{
	--sa-ink:#120a1f;
	--sa-ink-soft:#1c1130;
	--sa-violet:#7c3aed;
	--sa-lavender:#a78bfa;
	--sa-gold:#e3b34c;
	--sa-cream:#f6f2ff;
	--sa-muted:#b6a9d6;
	--sa-line:rgba(246,242,255,.12);
	--sa-radius:16px;
	--font-display:'Cormorant Garamond', serif;
	--font-body:'Manrope', sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
	margin:0;
	background:var(--sa-ink);
	color:var(--sa-cream);
	font-family:var(--font-body);
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;border-radius:12px;}
a{color:var(--sa-lavender);text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;color:var(--sa-cream);margin:0 0 .4em;}
.screen-reader-text{position:absolute;left:-9999px;}
.sa-skip-link:focus{position:fixed;top:10px;left:10px;background:var(--sa-gold);color:#000;padding:8px 14px;border-radius:8px;z-index:9999;}
.sa-container{max-width:1180px;margin:0 auto;padding:0 24px;}

/* ===== Header ===== */
.sa-header{position:sticky;top:0;z-index:100;background:rgba(18,10,31,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--sa-line);}
.sa-header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;}
.sa-logo{display:flex;align-items:center;gap:10px;}
.sa-logo-mark{font-size:26px;color:var(--sa-gold);}
.sa-logo-text{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--sa-cream);}
.sa-menu{list-style:none;display:flex;gap:28px;margin:0;padding:0;}
.sa-menu a{color:var(--sa-cream);font-weight:500;font-size:15px;position:relative;}
.sa-menu a:hover{color:var(--sa-gold);}
.sa-menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;}
.sa-menu-toggle span{width:24px;height:2px;background:var(--sa-cream);}

/* ===== Hero ===== */
.sa-hero{padding:80px 0 60px;overflow:hidden;position:relative;}
.sa-hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;}
.sa-eyebrow{display:inline-block;color:var(--sa-gold);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600;margin-bottom:14px;}
.sa-hero-text h1{font-size:clamp(32px,5vw,54px);line-height:1.1;}
.sa-hero-text p{color:var(--sa-muted);max-width:46ch;margin:18px 0 28px;}
.sa-hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.sa-btn{display:inline-block;padding:13px 26px;border-radius:999px;font-weight:600;font-size:15px;transition:transform .15s ease,opacity .15s ease;}
.sa-btn-primary{background:linear-gradient(135deg,var(--sa-violet),var(--sa-lavender));color:#fff;}
.sa-btn-outline{border:1px solid var(--sa-line);color:var(--sa-cream);}
.sa-btn:hover{transform:translateY(-2px);}
.sa-hero-art{display:flex;align-items:center;justify-content:center;}
.sa-orbit{position:relative;width:320px;height:320px;}
.sa-orbit-ring{position:absolute;border:1px dashed var(--sa-line);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);}
.sa-ring-1{width:120px;height:120px;animation:sa-spin 18s linear infinite;}
.sa-ring-2{width:210px;height:210px;border-color:rgba(167,139,250,.3);animation:sa-spin 30s linear infinite reverse;}
.sa-ring-3{width:300px;height:300px;border-color:rgba(227,179,76,.25);animation:sa-spin 45s linear infinite;}
.sa-orbit-sun{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:44px;color:var(--sa-gold);text-shadow:0 0 30px rgba(227,179,76,.6);}
@keyframes sa-spin{from{transform:translate(-50%,-50%) rotate(0deg);}to{transform:translate(-50%,-50%) rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.sa-orbit-ring{animation:none;}}

/* ===== Sections ===== */
.sa-section{padding:64px 0;border-top:1px solid var(--sa-line);}
.sa-section-title{font-size:clamp(26px,3.4vw,36px);text-align:center;}
.sa-section-sub{text-align:center;color:var(--sa-muted);margin-top:-6px;margin-bottom:32px;}

/* Panchang strip */
.sa-panchang-strip{background:var(--sa-ink-soft);}
.sa-panchang-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-top:10px;}
.sa-panchang-item{background:rgba(255,255,255,.03);border:1px solid var(--sa-line);border-radius:12px;padding:16px;text-align:center;}
.sa-panchang-item span{display:block;color:var(--sa-muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;}
.sa-panchang-item strong{color:var(--sa-gold);font-size:16px;}
.sa-link-more{display:inline-block;margin-top:26px;color:var(--sa-gold);font-weight:600;}

/* Rashi grid */
.sa-rashi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;}
.sa-rashi-card{background:var(--sa-ink-soft);border:1px solid var(--sa-line);border-radius:var(--sa-radius);padding:22px 10px;text-align:center;transition:border-color .2s,transform .2s;}
.sa-rashi-card:hover{border-color:var(--sa-gold);transform:translateY(-4px);}
.sa-rashi-icon{display:block;font-size:30px;color:var(--sa-gold);margin-bottom:8px;}
.sa-rashi-name{color:var(--sa-cream);font-weight:600;font-size:14px;}

/* Cards grid (products/blog/testimonials) */
.sa-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;}
.sa-product-card,.sa-blog-card,.sa-testimonial-card,.sa-value-card{background:var(--sa-ink-soft);border:1px solid var(--sa-line);border-radius:var(--sa-radius);padding:18px;}
.sa-card-thumb{border-radius:12px;overflow:hidden;margin-bottom:12px;display:block;aspect-ratio:4/3;background:rgba(255,255,255,.04);}
.sa-card-thumb img{width:100%;height:100%;object-fit:cover;border-radius:0;}
.sa-thumb-fallback{display:flex;align-items:center;justify-content:center;height:100%;font-size:38px;color:var(--sa-gold);}
.sa-thumb-fallback-lg{font-size:80px;height:320px;background:rgba(255,255,255,.04);border-radius:12px;}
.sa-price{color:var(--sa-gold);font-weight:700;font-size:17px;}
.sa-price del{color:var(--sa-muted);font-weight:400;margin-right:6px;}
.sa-stars{color:var(--sa-gold);letter-spacing:2px;display:block;margin-bottom:8px;}
.sa-testimonial-card strong{display:block;margin-top:10px;color:var(--sa-cream);}
.sa-testimonial-card span{color:var(--sa-muted);font-size:13px;}
.sa-value-card{text-align:center;}
.sa-value-icon{font-size:32px;color:var(--sa-gold);display:block;margin-bottom:10px;}

/* CTA */
.sa-cta-section{background:linear-gradient(135deg,rgba(124,58,237,.25),rgba(227,179,76,.12));text-align:center;}
.sa-cta-inner p{color:var(--sa-muted);margin-bottom:22px;}

/* Footer */
.sa-footer{background:var(--sa-ink-soft);border-top:1px solid var(--sa-line);padding:56px 0 0;margin-top:40px;}
.sa-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;padding-bottom:36px;}
.sa-footer-brand{color:var(--sa-gold);}
.sa-footer-menu{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;}
.sa-widget-title{font-size:15px;text-transform:uppercase;letter-spacing:.05em;color:var(--sa-muted);}
.sa-footer-bottom{border-top:1px solid var(--sa-line);padding:18px 0;text-align:center;color:var(--sa-muted);font-size:13px;}

/* ===== Inner pages ===== */
.sa-breadcrumb{color:var(--sa-muted);font-size:13px;margin:24px 0;}
.sa-breadcrumb a{color:var(--sa-muted);}
.sa-page-wrap{padding-bottom:60px;}
.sa-page-title{font-size:clamp(28px,4vw,40px);}
.sa-page-thumb{margin:20px 0;}
.sa-content p{color:#ddd3f5;margin-bottom:1em;}

/* Blog layout */
.sa-blog-layout{display:grid;grid-template-columns:2.2fr 1fr;gap:36px;align-items:start;}
.sa-blog-list-card{display:grid;grid-template-columns:200px 1fr;gap:20px;margin-bottom:28px;border-bottom:1px solid var(--sa-line);padding-bottom:28px;}
.sa-blog-list-body h2{font-size:22px;}
.sa-post-meta{color:var(--sa-muted);font-size:13px;}
.sa-widget{background:var(--sa-ink-soft);border:1px solid var(--sa-line);border-radius:12px;padding:18px;margin-bottom:18px;}
.sa-pagination{margin-top:20px;}

/* Rashifal single */
.sa-rashi-single-head{display:flex;align-items:center;gap:16px;margin-bottom:20px;}
.sa-rashi-icon-lg{font-size:44px;color:var(--sa-gold);}
.sa-badge{display:inline-block;background:rgba(227,179,76,.15);color:var(--sa-gold);padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;}
.sa-rashi-extra{display:flex;gap:24px;margin-top:24px;}
.sa-rashi-extra div{background:var(--sa-ink-soft);border:1px solid var(--sa-line);border-radius:12px;padding:14px 20px;}
.sa-rashi-extra span{display:block;color:var(--sa-muted);font-size:12px;}
.sa-rashi-extra strong{color:var(--sa-gold);}

/* Product single */
.sa-product-single-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}

/* About page */
.sa-about-values{margin:40px 0;}

/* Contact */
.sa-contact-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;margin-top:20px;}
.sa-contact-form p{margin-bottom:16px;}
.sa-contact-form label{display:block;font-weight:600;margin-bottom:6px;font-size:14px;}
.sa-contact-form input,.sa-contact-form textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--sa-line);background:rgba(255,255,255,.04);color:var(--sa-cream);font-family:var(--font-body);}
.sa-contact-form input:focus,.sa-contact-form textarea:focus{outline:2px solid var(--sa-gold);}
.sa-contact-info{background:var(--sa-ink-soft);border:1px solid var(--sa-line);border-radius:var(--sa-radius);padding:24px;height:fit-content;}
.sa-alert{padding:14px 18px;border-radius:10px;margin-bottom:20px;font-size:14px;}
.sa-alert-success{background:rgba(52,199,89,.15);color:#8ee6a3;}
.sa-alert-error{background:rgba(255,69,58,.15);color:#ff9c96;}

/* ===== Responsive ===== */
@media (max-width:900px){
	.sa-hero-inner{grid-template-columns:1fr;text-align:center;}
	.sa-hero-actions{justify-content:center;}
	.sa-hero-art{order:-1;}
	.sa-rashi-grid{grid-template-columns:repeat(3,1fr);}
	.sa-footer-grid{grid-template-columns:1fr;}
	.sa-blog-layout,.sa-contact-layout,.sa-product-single-grid{grid-template-columns:1fr;}
	.sa-blog-list-card{grid-template-columns:1fr;}
}
@media (max-width:640px){
	.sa-menu-toggle{display:flex;}
	.sa-nav{position:absolute;top:100%;left:0;right:0;background:var(--sa-ink);border-bottom:1px solid var(--sa-line);display:none;}
	.sa-nav.sa-open{display:block;}
	.sa-menu{flex-direction:column;padding:16px 24px;gap:14px;}
	.sa-rashi-grid{grid-template-columns:repeat(2,1fr);}
}
