/* Kalanjali Blocks — shared styles
   Colours match kalanjali-redesign-preview.html so these sections sit
   seamlessly next to the rest of the Elementor-built page. */
:root{
	--klj-paper:#FFFDF9;
	--klj-ink:#1A1533;
	--klj-ink-soft:#635C78;
	--klj-saffron:#E8871E;
	--klj-peacock:#0C6B58;
	--klj-maroon:#A93226;
	--klj-indigo:#241C4A;
	--klj-line:#EAE4D8;
}

/* ---------- News Ticker ---------- */
.klj-ticker{ background:#F5F1E6; border-bottom:1px solid var(--klj-line); overflow:hidden; }
.klj-ticker-inner{ display:flex; align-items:center; gap:20px; padding:10px 32px; max-width:1180px; margin:0 auto; }
.klj-ticker-label{ font-size:12.5px; font-weight:700; color:var(--klj-maroon); flex-shrink:0; white-space:nowrap; font-family:inherit; }
.klj-ticker-track{ flex:1; display:flex; overflow:hidden; }
.klj-ticker-track-inner{
	display:flex; flex-shrink:0; gap:50px; padding-right:50px; white-space:nowrap;
	font-size:13.5px; color:var(--klj-ink-soft);
	animation: klj-ticker-scroll var(--klj-ticker-speed, 28s) linear infinite;
}
.klj-ticker:hover .klj-ticker-track-inner{ animation-play-state: paused; }
@keyframes klj-ticker-scroll{
	from{ transform: translateX(0); }
	to{ transform: translateX(-100%); }
}
@media (prefers-reduced-motion: reduce){
	.klj-ticker-track{ overflow-x:auto; }
	.klj-ticker-track-inner{ animation:none; }
	.klj-ticker-track-inner:last-child{ display:none; }
}

/* ---------- Feature Cards ---------- */
.klj-features{
	display:grid;
	grid-template-columns:repeat(var(--klj-cols, 3), 1fr);
	gap:28px;
}
.klj-feature-card{
	background:#fff; border:1px solid var(--klj-line); border-radius:20px; padding:36px 30px; text-align:left;
	transition:box-shadow .2s ease, transform .2s ease;
}
.klj-feature-card:hover{ box-shadow:0 20px 40px rgba(26,21,51,0.08); transform:translateY(-4px); }
.klj-feature-icon{ width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:24px; margin-bottom:20px; }
.klj-feature-card h3{ font-size:19px; margin-bottom:10px; line-height:1.2; }
.klj-feature-card p{ font-size:14.5px; color:var(--klj-ink-soft); margin:0; }
.klj-feature-card a{ font-size:13.5px; font-weight:600; margin-top:14px; display:inline-block; text-decoration:none; }
@media (max-width:860px){ .klj-features{ grid-template-columns:1fr; } }

/* ---------- Four Stages ---------- */
.klj-stages{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-radius:24px; overflow:hidden; }
.klj-stage{ padding:44px 30px; color:#fff; min-height:260px; display:flex; flex-direction:column; justify-content:flex-end; }
.klj-stage-num{ font-size:13px; opacity:0.75; font-weight:600; margin-bottom:14px; letter-spacing:0.02em; }
.klj-stage h3{ font-size:24px; color:#fff; margin-bottom:10px; }
.klj-stage p{ font-size:14px; opacity:0.9; margin:0; }
@media (max-width:860px){ .klj-stages{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .klj-stages{ grid-template-columns:1fr; } }

/* ---------- Winners Podium ---------- */
.klj-podium{ display:flex; align-items:flex-end; justify-content:center; gap:22px; max-width:820px; margin:0 auto; }
.klj-podium-place{ background:#fff; border:1px solid var(--klj-line); border-radius:18px 18px 0 0; padding:30px 24px; text-align:center; flex:1; }
.klj-podium-first{ padding-top:44px; border-top:4px solid var(--klj-saffron); transform:translateY(-18px); }
.klj-podium-second{ border-top:4px solid var(--klj-peacock); }
.klj-podium-third{ border-top:4px solid var(--klj-maroon); }
.klj-podium-rank{ font-size:12.5px; font-weight:700; letter-spacing:0.04em; color:var(--klj-ink-soft); margin-bottom:10px; }
.klj-podium-school{ font-size:19px; font-weight:600; }
@media (max-width:860px){
	.klj-podium{ flex-direction:column; align-items:stretch; }
	.klj-podium-first{ transform:none; }
}

/* ---------- Latest Events Grid ---------- */
.klj-events-grid{ display:grid; grid-template-columns:repeat(var(--klj-cols, 3), 1fr); gap:26px; }
.klj-event-card{ display:block; border-radius:18px; overflow:hidden; border:1px solid var(--klj-line); background:#fff; text-decoration:none; color:inherit; transition:box-shadow .2s ease, transform .2s ease; }
.klj-event-card:hover{ box-shadow:0 20px 40px rgba(26,21,51,0.08); transform:translateY(-4px); }
.klj-event-card img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.klj-event-body{ padding:22px; }
.klj-event-date{ font-size:12.5px; color:var(--klj-maroon); font-weight:700; margin-bottom:8px; }
.klj-event-body h3{ font-size:17px; margin:0; }
@media (max-width:860px){ .klj-events-grid{ grid-template-columns:1fr; } }
