/* Homepage sections: books, panchang, quiz, campaigns, store (template-parts/home/). */
.sb-hs { position: relative; padding: clamp(56px, 8vw, 104px) 0; overflow: hidden; }
.sb-hs h2 { font-size: clamp(28px, 4vw, 44px); line-height: 1.15; margin: 8px 0 14px; }
.sb-hs-eyebrow { display: inline-block; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--sb-saffron-dark, #E05500); }
.sb-hs-head { text-align: center; max-width: 720px; margin: 0 auto 36px; }
.sb-hs-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.sb-hs-grid--flip { grid-template-columns: .9fr 1.1fr; }
.sb-hs-btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 26px; border-radius: 999px; background: linear-gradient(110deg, #c2412f, #e0663a, #c2412f); background-size: 200% 100%; color: #fff !important; font-weight: 700; text-decoration: none; transition: background-position .5s, transform .2s, box-shadow .3s; box-shadow: 0 12px 30px -14px rgba(194,65,47,.8); }
.sb-hs-btn:hover, .sb-hs-btn:focus-visible { background-position: 100% 0; transform: translateY(-2px); }
.sb-hs-btn--ghost { background: transparent; color: #8B1A1A !important; border: 2px solid currentColor; box-shadow: none; }
.sb-hs-actions { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; margin: 32px 0 0; }
.sb-hs-note { font-size: 13px; opacity: .75; margin-top: 10px; }

/* Scroll reveal */
.sb-hs-reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); transition-delay: calc(var(--i, 0) * 90ms); }
.sb-hs-reveal.is-in { opacity: 1; transform: none; }

/* Books */
.sb-hs-books { background: linear-gradient(180deg, #fbf6ec, #f3e7d3); }
.sb-hs-shelf { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px; }
.sb-hs-book { text-align: center; }
.sb-hs-book-cover { position: relative; display: block; aspect-ratio: 3 / 4; border-radius: 6px 14px 14px 6px; overflow: hidden; box-shadow: -6px 0 0 #8B1A1A inset, 0 22px 40px -20px rgba(48,41,42,.65); transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s; transform: perspective(900px) rotateY(-8deg); background: #30292A; }
.sb-hs-book-cover:hover, .sb-hs-book-cover:focus-visible { transform: perspective(900px) rotateY(0) translateY(-8px); box-shadow: 0 30px 50px -22px rgba(48,41,42,.8); }
.sb-hs-book-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sb-hs-book-blank { display: grid; place-items: center; height: 100%; padding: 14px; color: #ECE7D5; font-weight: 700; }
.sb-hs-book-tag { position: absolute; top: 10px; right: 10px; background: #D4A017; color: #30292A; font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 999px; }
.sb-hs-book.is-soon .sb-hs-book-cover { filter: saturate(.6); }
.sb-hs-book h3 { font-size: 17px; margin: 14px 0 4px; }
.sb-hs-book p, .sb-hs-product small { font-size: 13px; opacity: .75; margin: 0 0 10px; }
.sb-hs-book-btn { display: inline-block; padding: 9px 18px; border-radius: 999px; background: #8B1A1A; color: #fff !important; font-size: 14px; font-weight: 600; text-decoration: none; transition: background .3s; }
.sb-hs-book-btn:hover { background: #c2412f; }

/* Panchang: futuristic cosmic orrery */
.sb-hs-panchang { background: radial-gradient(120% 90% at 80% 20%, #2a1b4d 0%, #120c24 55%, #07050f 100%); color: #ECE7D5; }
.sb-hs-panchang h2 { color: #fff; }
.sb-hs-panchang .sb-hs-eyebrow { color: #F0C75E; }
.sb-hs-stars { position: absolute; inset: 0; background-image: radial-gradient(1.5px 1.5px at 12% 22%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 32% 72%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 58% 14%, #F0C75E 50%, transparent 51%), radial-gradient(1px 1px at 76% 64%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 90% 34%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 44% 44%, #F0C75E 50%, transparent 51%); background-size: 340px 340px; animation: sbTwinkle 6s ease-in-out infinite alternate; opacity: .7; }
.sb-hs-panchang .sb-container { position: relative; }
.sb-hs-feats { list-style: none; padding: 0; margin: 22px 0 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.sb-hs-feats li { padding: 14px 16px; border-radius: 14px; background: rgba(255,255,255,.06); border: 1px solid rgba(240,199,94,.25); backdrop-filter: blur(6px); transition: transform .3s, border-color .3s; }
.sb-hs-feats li:hover { transform: translateY(-3px); border-color: rgba(240,199,94,.7); }
.sb-hs-feats strong { display: block; color: #F0C75E; margin-bottom: 4px; }
.sb-hs-feats span { font-size: 14px; opacity: .85; }
.sb-hs-btn--glow { box-shadow: 0 0 0 0 rgba(240,199,94,.6); animation: sbGlow 2.6s ease-out infinite; }
.sb-hs-orrery { position: relative; display: block; width: min(100%, 460px); aspect-ratio: 1; margin: 0 auto; text-decoration: none; color: inherit; container-type: inline-size; }
.sb-hs-ring { position: absolute; border-radius: 50%; }
.sb-hs-ring--rashi { inset: 0; border: 1px solid rgba(240,199,94,.45); animation: sbSpin 60s linear infinite; background: conic-gradient(from 0deg, transparent, rgba(240,199,94,.12), transparent 30%); }
.sb-hs-ring--rashi span { position: absolute; left: 50%; top: 50%; width: 34px; height: 34px; margin: -17px; display: grid; place-items: center; font-size: 20px; color: #F0C75E; transform: rotate(var(--a)) translateY(-46cqw) rotate(calc(-1 * var(--a))); text-shadow: 0 0 10px rgba(240,199,94,.8); }
.sb-hs-ring--orbit { inset: 16%; border: 1px dashed rgba(255,255,255,.25); animation: sbSpin 18s linear infinite reverse; }
.sb-hs-ring--orbit2 { inset: 28%; border: 1px solid rgba(255,140,51,.35); animation: sbSpin 11s linear infinite; }
.sb-hs-ring i { position: absolute; top: -7px; left: 50%; width: 14px; height: 14px; margin-left: -7px; border-radius: 50%; background: #FF8C33; box-shadow: 0 0 18px 4px rgba(255,140,51,.8); }
.sb-hs-ring--orbit2 i { background: #ECE7D5; box-shadow: 0 0 14px 3px rgba(236,231,213,.8); width: 10px; height: 10px; margin-left: -5px; top: -5px; }
.sb-hs-today { position: absolute; inset: 36%; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: radial-gradient(circle at 35% 30%, #ffcf7a, #e0663a 45%, #8B1A1A 100%); box-shadow: 0 0 60px 10px rgba(224,102,58,.45); padding: 8px; transition: transform .4s; }
.sb-hs-orrery:hover .sb-hs-today { transform: scale(1.06); }
.sb-hs-today small { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.sb-hs-today b { font-size: clamp(12px, 1.6vw, 16px); line-height: 1.2; margin: 4px 0; color: #fff; }
.sb-hs-today em { font-style: normal; font-size: 10px; opacity: .9; }

/* Quiz: flip-card deck */
.sb-hs-quiz { background: linear-gradient(135deg, #fff7ec 0%, #fde6dc 100%); }
.sb-hs-deck { position: relative; width: min(100%, 360px); aspect-ratio: 3 / 4; margin: 0 auto; perspective: 1200px; }
.sb-hs-card { position: absolute; inset: 0; border-radius: 22px; background: linear-gradient(160deg, #8B1A1A, #c2412f); box-shadow: 0 30px 60px -30px rgba(92,16,16,.7); }
.sb-hs-card--3 { transform: rotate(-8deg) translate(-14px, 10px); opacity: .45; animation: sbFloat 6s ease-in-out infinite; }
.sb-hs-card--2 { transform: rotate(5deg) translate(12px, 6px); opacity: .7; animation: sbFloat 6s ease-in-out .8s infinite; }
.sb-hs-card--1 { background: none; box-shadow: none; transform-style: preserve-3d; animation: sbFlip 7s ease-in-out infinite; }
.sb-hs-card-face, .sb-hs-card-back { position: absolute; inset: 0; border-radius: 22px; backface-visibility: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 26px; color: #fff; text-align: center; }
.sb-hs-card-face { background: linear-gradient(160deg, #30292A, #5C1010); box-shadow: 0 30px 60px -30px rgba(48,41,42,.8); }
.sb-hs-card-back { background: linear-gradient(160deg, #1f7a4d, #2fa36b); transform: rotateY(180deg); }
.sb-hs-card-face small { color: #F0C75E; letter-spacing: .14em; text-transform: uppercase; font-size: 12px; }
.sb-hs-card-face b { font-size: 26px; }
.sb-hs-card-back b { font-size: 64px; line-height: 1; }
.sb-hs-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: 100%; margin-top: 8px; }
.sb-hs-opts i { font-style: normal; padding: 12px; border-radius: 12px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); }
.sb-hs-opts i:nth-child(3) { animation: sbPick 7s ease-in-out infinite; }
.sb-hs-timer { width: 100%; height: 6px; border-radius: 6px; background: rgba(255,255,255,.15); overflow: hidden; }
.sb-hs-timer i { display: block; height: 100%; background: #F0C75E; animation: sbTimer 7s linear infinite; transform-origin: left; }
.sb-hs-rules { list-style: none; padding: 0; margin: 20px 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.sb-hs-rules li { background: #fff; border-radius: 14px; padding: 12px 8px; text-align: center; box-shadow: 0 10px 24px -18px rgba(92,16,16,.6); }
.sb-hs-rules b { display: block; font-size: 22px; color: #8B1A1A; }
.sb-hs-rules span { font-size: 12px; opacity: .75; }
.sb-hs-levels { list-style: none; counter-reset: lv; padding: 0; margin: 0 0 26px; display: flex; flex-wrap: wrap; gap: 8px; }
.sb-hs-levels li { counter-increment: lv; font-size: 13px; padding: 6px 12px 6px 6px; border-radius: 999px; background: rgba(139,26,26,.08); display: inline-flex; align-items: center; gap: 8px; opacity: 0; transform: scale(.8); }
.sb-hs-levels li::before { content: counter(lv); width: 22px; height: 22px; border-radius: 50%; background: #8B1A1A; color: #fff; display: grid; place-items: center; font-size: 11px; font-weight: 700; }
.is-in .sb-hs-levels li { animation: sbPop .5s cubic-bezier(.3,1.6,.5,1) forwards; animation-delay: calc(.3s + var(--i) * 80ms); }

/* Campaigns */
.sb-hs-camp { background: #fbf6ec; }
.sb-hs-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; counter-reset: none; }
.sb-hs-steps li { position: relative; background: #fff; border-radius: 20px; padding: 26px 22px; box-shadow: 0 18px 40px -28px rgba(92,16,16,.6); transition: transform .3s; }
.sb-hs-steps li:hover { transform: translateY(-6px); }
.sb-hs-steps li:not(:last-child)::after { content: ""; position: absolute; top: 46px; right: -18px; width: 18px; height: 2px; background: repeating-linear-gradient(90deg, #c2412f 0 4px, transparent 4px 8px); }
.sb-hs-step-n { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: linear-gradient(135deg, #e0663a, #8B1A1A); color: #fff; font-weight: 800; font-size: 18px; margin-bottom: 14px; }
.sb-hs-steps h3 { font-size: 18px; margin: 0 0 6px; }
.sb-hs-steps p { font-size: 14px; margin: 0; opacity: .8; }
.sb-hs-live { margin-top: 28px; display: flex; gap: 24px; align-items: center; padding: 26px; border-radius: 22px; background: linear-gradient(135deg, #30292A, #5C1010); color: #ECE7D5; }
.sb-hs-live h3 { color: #fff; margin: 0 0 10px; font-size: 20px; }
.sb-hs-live ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.sb-hs-live a { color: #F0C75E; text-decoration: none; }
.sb-hs-live a:hover { text-decoration: underline; }
.sb-hs-badge { flex: none; display: grid; place-items: center; width: 88px; height: 88px; border-radius: 50%; font: 800 44px/1 Georgia, serif; color: #30292A; background: radial-gradient(circle at 35% 30%, #fff3c4, #D4A017); animation: sbBadge 2.4s ease-in-out infinite; }

/* Store */
.sb-hs-store { background: linear-gradient(180deg, #fff, #f6efe3); }
.sb-hs-products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.sb-hs-product { background: #fff; border-radius: 20px; padding: 14px 14px 20px; text-align: center; box-shadow: 0 18px 40px -28px rgba(48,41,42,.6); transition: transform .3s, box-shadow .3s; }
.sb-hs-product:hover { transform: translateY(-6px); box-shadow: 0 26px 50px -28px rgba(48,41,42,.7); }
.sb-hs-product-img { display: block; aspect-ratio: 1; border-radius: 14px; overflow: hidden; background: #f3e7d3; margin-bottom: 12px; }
.sb-hs-product-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.sb-hs-product:hover .sb-hs-product-img img { transform: scale(1.06); }
.sb-hs-product small { display: block; margin: 0; text-transform: uppercase; letter-spacing: .08em; font-size: 11px; }
.sb-hs-product h3 { font-size: 16px; margin: 6px 0; line-height: 1.3; }
.sb-hs-price { font-weight: 700; color: #8B1A1A; margin: 0 0 12px; }

@keyframes sbSpin { to { transform: rotate(360deg); } }
@keyframes sbTwinkle { to { opacity: .35; } }
@keyframes sbGlow { 0% { box-shadow: 0 0 0 0 rgba(240,199,94,.55); } 100% { box-shadow: 0 0 0 18px rgba(240,199,94,0); } }
@keyframes sbFloat { 50% { translate: 0 -8px; } }
@keyframes sbFlip { 0%, 40% { transform: rotateY(0); } 50%, 80% { transform: rotateY(180deg); } 90%, 100% { transform: rotateY(360deg); } }
@keyframes sbPick { 0%, 30% { background: rgba(255,255,255,.1); } 36%, 48% { background: #2fa36b; border-color: #2fa36b; } 52%, 100% { background: rgba(255,255,255,.1); } }
@keyframes sbTimer { 0% { transform: scaleX(1); } 40% { transform: scaleX(.45); } 100% { transform: scaleX(.45); } }
@keyframes sbPop { to { opacity: 1; transform: none; } }
@keyframes sbBadge { 50% { transform: scale(1.08); box-shadow: 0 0 0 12px rgba(212,160,23,.18); } }

/* Tablet */
@media (max-width: 1024px) {
    .sb-hs-shelf { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sb-hs-steps { grid-template-columns: repeat(2, 1fr); }
    .sb-hs-steps li::after { display: none; }
    .sb-hs-rules { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
    .sb-hs-grid, .sb-hs-grid--flip { grid-template-columns: 1fr; }
    .sb-hs-orrery { width: min(86vw, 400px); }
    .sb-hs-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sb-hs-quiz .sb-hs-deck { order: 2; width: min(78vw, 320px); }
}
/* Mobile */
@media (max-width: 600px) {
    .sb-hs-shelf, .sb-hs-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .sb-hs-feats, .sb-hs-steps { grid-template-columns: 1fr; }
    .sb-hs-live { flex-direction: column; text-align: center; }
    .sb-hs-btn { width: 100%; justify-content: center; }
    .sb-hs-product h3 { font-size: 14px; }
    .sb-hs-book h3 { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
    .sb-hs *, .sb-hs *::before { animation: none !important; }
    .sb-hs-reveal, .sb-hs-levels li { opacity: 1; transform: none; transition: none; }
}
.sb-hs-panchang p { color: rgba(236,231,213,.85); }
.sb-hs-ring--rashi span { font-family: "Segoe UI Symbol", "Noto Sans Symbols 2", "Apple Symbols", "DejaVu Sans", serif; font-variant-emoji: text; }
@media (max-width: 600px) { .sb-hs-today { inset: 32%; } .sb-hs-today em { display: none; } .sb-hs-today small { font-size: 9px; letter-spacing: .06em; } }
