/* KCET 2026 Hub — Custom styles beyond Tailwind CDN */
.hero-gradient { background: linear-gradient(135deg, #1a365d 0%, #2c5282 50%, #1a365d 100%); }
.ad-placeholder { display: flex; align-items: center; justify-content: center; min-height: 90px; padding: 1.5rem; border: 2px dashed #f59e0b; border-radius: 0.75rem; background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%); color: #92400e; font-size: 0.875rem; font-weight: 500; }
.form-input:focus { border-color: #f59e0b; box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.25); }
.form-error { margin-top: 0.25rem; font-size: 0.75rem; color: #dc2626; }
.form-error.hidden { display: none; }
.cutoff-table { min-width: 800px; }
.cutoff-table tbody tr:nth-child(even) { background-color: #f8fafc; }
.cutoff-table tbody tr:hover { background-color: #fffbeb; }
.cutoff-table td, .cutoff-table th { padding: 0.75rem 1rem; }
.sticky-col { position: sticky; left: 0; z-index: 2; background-color: #1a365d; }
.sticky-col-name { position: sticky; left: 3rem; z-index: 1; background-color: inherit; min-width: 200px; }
.cutoff-table thead .sticky-col-name { background-color: #1a365d; z-index: 3; }
.cutoff-table tbody tr:nth-child(even) .sticky-col-name { background-color: #f8fafc; }
.cutoff-table tbody tr:nth-child(odd) .sticky-col-name { background-color: #fff; }
.cutoff-table tbody tr:hover .sticky-col-name, .cutoff-table tbody tr:hover .sticky-col { background-color: #fffbeb; }
.cutoff-table tbody tr:nth-child(even) .sticky-col { background-color: #f8fafc; }
.cutoff-table tbody tr:nth-child(odd) .sticky-col { background-color: #fff; }
.table-scroll-wrapper { -webkit-overflow-scrolling: touch; }
.badge-arch { display: inline-block; padding: 0.125rem 0.5rem; border-radius: 9999px; font-size: 0.75rem; font-weight: 600; }
.badge-arch--available { background: #d1fae5; color: #065f46; }
.badge-arch--separate { background: #dbeafe; color: #1e40af; }
.badge-arch--na { background: #f1f5f9; color: #64748b; }
.uni-logo { width: 3rem; height: 3rem; border-radius: 9999px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.uni-card { transition: box-shadow 0.2s, transform 0.2s; }
.uni-card:hover { box-shadow: 0 10px 25px -5px rgba(26,54,93,0.12); transform: translateY(-2px); }
.rules-list { list-style: none; padding-left: 0; }
.rules-list li { position: relative; padding-left: 1.75rem; line-height: 1.6; }
.rules-list li::before { content: ""; position: absolute; left: 0; top: 0.45rem; width: 0.65rem; height: 0.65rem; background: #f59e0b; border-radius: 2px; transform: rotate(45deg); }
.whatsapp-fab { position: fixed; bottom: calc(1.25rem + env(safe-area-inset-bottom,0)); right: calc(1.25rem + env(safe-area-inset-right,0)); z-index: 60; width: 3.5rem; height: 3.5rem; border-radius: 9999px; background: #25d366; color: #fff; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(37,211,102,0.45); animation: fab-pulse 2.5s ease-in-out infinite; }
.whatsapp-fab:hover { background: #128c7e; transform: scale(1.08); }
@keyframes fab-pulse { 0%,100% { box-shadow: 0 4px 14px rgba(37,211,102,0.45); } 50% { box-shadow: 0 4px 20px rgba(37,211,102,0.7), 0 0 0 8px rgba(37,211,102,0.15); } }
#site-header.is-scrolled { box-shadow: 0 4px 20px rgba(0,0,0,0.2); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.data-banner { background: #eff6ff; border: 1px solid #bfdbfe; color: #1e40af; padding: 0.75rem 1rem; border-radius: 0.5rem; font-size: 0.8rem; }
.live-dates-banner { font-size: 0.875rem; }
.kannada-block { background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%); border: 1px solid #86efac; border-radius: 0.75rem; padding: 1rem 1.25rem; }
.seo-hub { border-top: 1px solid #e2e8f0; }
.seo-hub-link { display: inline-block; padding: 0.35rem 0.75rem; font-size: 0.8rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 9999px; color: #1a365d; transition: border-color 0.2s; }
.seo-hub-link:hover { border-color: #f59e0b; color: #d97706; }
.breadcrumb { font-size: 0.875rem; color: #64748b; }
.breadcrumb a { color: #1a365d; }
.breadcrumb a:hover { color: #f59e0b; }
.timeline { display: flex; flex-direction: column; gap: 0; }
.timeline-item { display: flex; gap: 1rem; padding-bottom: 1.5rem; position: relative; }
.timeline-item:not(:last-child)::before { content: ""; position: absolute; left: 0.65rem; top: 1.5rem; bottom: 0; width: 2px; background: #cbd5e1; }
.timeline-dot { width: 1.25rem; height: 1.25rem; border-radius: 9999px; flex-shrink: 0; margin-top: 0.2rem; }
.timeline-dot--done { background: #22c55e; }
.timeline-dot--active { background: #f59e0b; box-shadow: 0 0 0 4px rgba(245,158,11,0.3); }
.timeline-dot--upcoming { background: #cbd5e1; }
.suggest-item { padding: 0.75rem; border: 1px solid #e2e8f0; border-radius: 0.5rem; margin-bottom: 0.5rem; display: flex; flex-direction: column; gap: 0.15rem; }
.suggest-box--dream { border-left: 4px solid #7c3aed; }
.suggest-box--moderate { border-left: 4px solid #f59e0b; }
.suggest-box--safe { border-left: 4px solid #22c55e; }
.rank-band { border: 1px solid #e2e8f0; border-radius: 0.75rem; padding: 1.25rem; margin-bottom: 1rem; }
.rank-band h3 { color: #1a365d; font-weight: 700; }
.faq-item { border-bottom: 1px solid #e2e8f0; padding: 1rem 0; }
.faq-item summary { font-weight: 600; color: #1a365d; cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item[open] summary { color: #f59e0b; }
.step-card { display: flex; gap: 1rem; padding: 1rem; background: #f8fafc; border-radius: 0.5rem; margin-bottom: 0.75rem; }
.step-num { width: 2rem; height: 2rem; background: #1a365d; color: #f59e0b; border-radius: 9999px; display: flex; align-items: center; justify-content: center; font-weight: 700; flex-shrink: 0; }
.mistake-box { background: #fef2f2; border: 1px solid #fecaca; border-radius: 0.75rem; padding: 1.25rem; }
.card-link { display: block; padding: 1.25rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 0.75rem; transition: box-shadow 0.2s; }
.card-link:hover { box-shadow: 0 4px 12px rgba(26,54,93,0.1); border-color: #f59e0b; }
@media (prefers-reduced-motion: reduce) { .whatsapp-fab { animation: none; } .uni-card:hover { transform: none; } }
