.gurukul-page{max-width:80rem;margin-inline:auto;padding:3rem 2rem;font-family:Inter18pt,sans-serif}.gurukul-page-title{color:var(--foreground);margin-bottom:.5rem;font-family:ManropeExtraBold,sans-serif;font-size:2rem;font-weight:800}.gurukul-page-subtitle{color:var(--muted-foreground);margin-bottom:2rem;font-size:1rem}.gurukul-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.gurukul-card{background:var(--card);border:1px solid var(--border);color:inherit;border-radius:.5rem;flex-direction:column;text-decoration:none;transition:box-shadow .2s,transform .2s;display:flex;overflow:hidden}.gurukul-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.gurukul-card-image{object-fit:cover;width:100%;height:12rem;display:block}.gurukul-card-placeholder{background:linear-gradient(135deg, var(--primary), var(--accent));width:100%;height:12rem;color:var(--primary-foreground);opacity:.85;justify-content:center;align-items:center;font-size:2.5rem;font-weight:700;display:flex}.gurukul-card-body{flex-direction:column;flex:1;gap:.5rem;padding:1rem 1.25rem 1.25rem;display:flex}.gurukul-card-title{color:var(--foreground);margin:0;font-family:ManropeExtraBold,sans-serif;font-size:1.1rem;font-weight:700;line-height:1.3}.gurukul-card-meta{color:var(--muted-foreground);font-size:.875rem}.gurukul-card-footer{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:auto;padding-top:.5rem;display:flex}.gurukul-badge{letter-spacing:.03em;text-transform:uppercase;border-radius:9999px;padding:.15rem .6rem;font-size:.75rem;font-weight:700;display:inline-block}.gurukul-badge--free{background:var(--success);color:#fff}.gurukul-badge--paid{background:var(--primary);color:var(--primary-foreground)}.gurukul-badge--virtual{background:var(--accent);color:var(--accent-foreground)}.gurukul-badge--hybrid{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary);border:1px solid color-mix(in srgb, var(--primary) 25%, transparent)}.gurukul-schedule-subtitle{color:var(--foreground);margin:1rem 0 .5rem;font-family:ManropeExtraBold,sans-serif;font-size:1rem}.gurukul-session-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.gurukul-session-item{border:1px solid var(--border);background:var(--card,transparent);border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.5rem .75rem;display:flex}.gurukul-session-date{color:var(--foreground);font-weight:700}.gurukul-session-time{color:var(--muted-foreground);font-size:.9rem}.gurukul-empty{text-align:center;color:var(--muted-foreground);padding:4rem 1rem}.gurukul-empty-title{color:var(--foreground);margin-bottom:.5rem;font-family:ManropeExtraBold,sans-serif;font-size:1.5rem}.gurukul-filter-bar{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.gurukul-filter-btn{color:var(--muted-foreground);background:var(--card);border:1px solid var(--border);border-radius:9999px;align-items:center;padding:.35rem .9rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.gurukul-filter-btn:hover{background:color-mix(in srgb, var(--primary) 8%, transparent);border-color:var(--primary);color:var(--primary)}.gurukul-filter-btn--active{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.gurukul-filter-btn--active:hover{background:var(--primary);color:var(--primary-foreground);opacity:.9}.gurukul-pagination{border-top:1px solid var(--border);justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}.gurukul-pagination-btn{border-radius:var(--radius);background:var(--card);border:1px solid var(--border);color:var(--foreground);align-items:center;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}a.gurukul-pagination-btn:hover{background:color-mix(in srgb, var(--primary) 8%, transparent);border-color:var(--primary);color:var(--primary)}.gurukul-pagination-btn--disabled{color:var(--muted-foreground);cursor:default;opacity:.45}.gurukul-pagination-page{color:var(--muted-foreground);text-align:center;min-width:4rem;font-size:.875rem}.gurukul-detail{max-width:80rem;margin-inline:auto;padding:3rem 2rem;font-family:Inter18pt,sans-serif}.gurukul-back-link{color:var(--muted-foreground);align-items:center;gap:.35rem;margin-bottom:1.5rem;font-size:.875rem;text-decoration:none;transition:color .15s;display:inline-flex}.gurukul-back-link:hover{color:var(--foreground)}.gurukul-hero-image{object-fit:cover;border-radius:.5rem;width:100%;height:20rem;margin-bottom:1.5rem}.gurukul-detail-title{color:var(--foreground);margin:0 0 1rem;font-family:ManropeExtraBold,sans-serif;font-size:2rem;font-weight:800;line-height:1.2}.gurukul-detail-meta{color:var(--muted-foreground);flex-wrap:wrap;gap:1rem 2rem;margin-bottom:1.5rem;font-size:.95rem;display:flex}.gurukul-detail-meta-item{align-items:center;gap:.4rem;display:flex}.gurukul-section{background:var(--card);border:1px solid var(--border);border-radius:.5rem;margin-bottom:1.5rem;padding:1.5rem}.gurukul-section-title{color:var(--foreground);margin:0 0 .75rem;font-family:ManropeExtraBold,sans-serif;font-size:1.15rem;font-weight:700}.gurukul-section-text{color:var(--muted-foreground);white-space:pre-line;margin:0;font-size:.95rem;line-height:1.7}.gurukul-enroll-bar{background:var(--card);border:1px solid var(--border);border-radius:.5rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1.5rem;display:flex}.gurukul-enroll-price{color:var(--foreground);font-family:ManropeExtraBold,sans-serif;font-size:1.5rem;font-weight:800}.gurukul-enroll-price--free{color:var(--success)}.gurukul-enroll-btn{background:var(--primary);color:var(--primary-foreground);border-radius:var(--radius);justify-content:center;align-items:center;padding:.75rem 2rem;font-family:inherit;font-size:1rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.gurukul-enroll-btn:hover{opacity:.9}@media (max-width:1024px){.gurukul-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.gurukul-grid{grid-template-columns:1fr}.gurukul-page,.gurukul-detail{padding:2rem 1rem}.gurukul-hero-image{height:14rem}.gurukul-detail-title{font-size:1.5rem}.gurukul-enroll-bar{flex-direction:column;align-items:flex-start}.gurukul-enroll-btn{text-align:center;width:100%}}