/* =========================================================
   VEDAPITHAM LEARNING PHASE 1
   Student login, dashboard and enrolment states.
   This file is loaded after vedapitham-site.css.
   ========================================================= */

.vp-auth-section {
    min-height: 68vh;
    padding: 70px 0;
    background: #f8f2e8;
}

.vp-auth-card {
    width: min(820px, 100%);
    margin: 0 auto;
    padding: 42px;
    border: 1px solid #e6d6c1;
    background: #fffaf3;
    box-shadow: 0 20px 55px rgba(58, 10, 15, .08);
}

.vp-auth-card-small { width: min(560px, 100%); }

.vp-auth-card h1 {
    margin: 8px 0 12px;
    color: var(--vp-maroon, #5b0f18);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(32px, 5vw, 48px);
    font-weight: 500;
}

.vp-auth-card > p {
    margin: 0 0 28px;
    color: var(--vp-muted, #6e625c);
    line-height: 1.65;
}

.vp-auth-form { display: grid; gap: 18px; }
.vp-auth-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }

.vp-auth-form label {
    display: grid;
    gap: 8px;
    color: var(--vp-maroon, #5b0f18);
    font-size: 13px;
    font-weight: 800;
}

.vp-auth-form input,
.vp-auth-form select,
.vp-auth-form textarea {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid #dbc9b2;
    border-radius: 6px;
    background: #fff;
    color: #2b2421;
    font: inherit;
    font-weight: 400;
}

.vp-auth-alert,
.vp-course-message,
.vp-pending-note {
    padding: 13px 15px;
    margin: 0 0 20px;
    border: 1px solid #e3c8a7;
    background: #fff3df;
    color: #6b3217;
    line-height: 1.5;
}

.vp-auth-foot {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #eadcca;
    color: #6d625a;
}

.vp-auth-foot a,
.vp-inline-link { color: var(--vp-maroon, #5b0f18); font-weight: 800; }

.vp-dashboard-hero {
    padding: 62px 0;
    color: #fff8ec;
    background: linear-gradient(110deg, #35070d, #6a121d);
}

.vp-dashboard-hero .section-label { color: #e5c378; }
.vp-dashboard-hero h1 {
    margin: 8px 0 10px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(36px, 5vw, 56px);
    font-weight: 500;
}
.vp-dashboard-hero p { margin: 0; color: #eaded1; }

.vp-student-course-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.vp-student-course-card,
.vp-empty-card {
    padding: 32px;
    border: 1px solid #e7d8c6;
    background: #fffaf3;
}

.vp-student-course-symbol {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin-bottom: 18px;
    border-radius: 50%;
    background: #f1e4d4;
    color: var(--vp-maroon, #5b0f18);
    font: 28px Georgia, serif;
}

.vp-student-course-card h2,
.vp-empty-card h2 {
    margin: 12px 0;
    color: var(--vp-maroon, #5b0f18);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 500;
}

.vp-student-course-card p,
.vp-empty-card p { color: #6d625a; line-height: 1.6; }

.vp-status-pill {
    display: inline-flex;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
    background: #eee;
}
.vp-status-pill.active { background: #e5f1e8; color: #244b36; }
.vp-status-pill.pending { background: #fff0d8; color: #7b4816; }
.vp-status-pill.completed { background: #e6edf4; color: #33485f; }
.vp-status-pill.cancelled { background: #f5e2e2; color: #7c2525; }

.vp-next-class-mini {
    display: grid;
    gap: 5px;
    margin: 22px 0;
    padding: 14px 16px;
    border-left: 3px solid var(--vp-gold, #c89a45);
    background: #fff;
}
.vp-next-class-mini strong { color: var(--vp-maroon, #5b0f18); }
.vp-next-class-mini span { color: #6d625a; }

.vp-student-course-card .button { margin: 0 12px 16px 0; }
.vp-inline-link { display: inline-block; margin-top: 12px; }

.vp-account-strip {
    padding: 34px 0;
    color: #fff;
    background: #35070d;
}
.vp-account-strip-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.vp-account-strip-inner div { display: grid; gap: 4px; }
.vp-account-strip-inner span { color: #cdbfb2; font-size: 13px; }

.vp-course-state {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 14px;
    border: 1px solid rgba(229,195,120,.5);
    color: #f4d994;
}
.vp-course-state.light { color: #6d625a; border-color: #dfcfbc; background: #fffaf3; }
.vp-inline-form { display: inline-block; margin: 0; }
.vp-course-message { margin-top: 20px; max-width: 680px; }

@media (max-width: 720px) {
    .vp-auth-card { padding: 28px 22px; }
    .vp-auth-grid,
    .vp-student-course-grid { grid-template-columns: 1fr; }
    .vp-account-strip-inner { flex-direction: column; align-items: flex-start; }
}

/* =========================================================
   DAILY PREBUILT CLASSROOM
   ========================================================= */
.vp-daily-shell {
    overflow: hidden;
    border: 1px solid #dfd1bf;
    background: #111;
    box-shadow: 0 20px 48px rgba(57, 7, 13, .10);
}

.vp-daily-frame {
    position: relative;
    width: 100%;
    height: min(76vh, 820px);
    min-height: 560px;
    background: #111;
}

.vp-daily-loading {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: grid;
    place-items: center;
    padding: 30px;
    color: #f7efe5;
    text-align: center;
    background: linear-gradient(145deg, #170f10, #241719);
}

.vp-daily-loading > div { max-width: 460px; }
.vp-daily-loading h2 { margin: 10px 0 8px; font: 500 30px/1.2 Georgia, "Times New Roman", serif; }
.vp-daily-loading p { margin: 0; color: #cdbfb2; }
.vp-daily-om { color: var(--vp-gold, #c89a45); font: 54px Georgia, serif; }

.vp-daily-message {
    max-width: 760px;
    margin: 0 auto;
    padding: 42px 36px;
    border: 1px solid #e2d4c2;
    background: #fffaf3;
    text-align: center;
}

.vp-daily-message h2 {
    margin: 12px 0 10px;
    color: var(--vp-maroon, #5b0f18);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 500;
}

.vp-daily-message p { color: #6d625a; line-height: 1.65; }
.vp-daily-message.error { border-color: #e3b8b8; background: #fff2f2; }

@media (max-width: 760px) {
    .vp-daily-frame {
        height: 72vh;
        min-height: 500px;
    }
}

/* =========================================================
   MICROSOFT TEAMS LIVE CLASS
   ========================================================= */
.vp-teams-join-card,
.vp-teams-message {
    max-width: 760px;
    margin: 0 auto;
    padding: 42px 36px;
    border: 1px solid #e2d4c2;
    background: #fffaf3;
    text-align: center;
    box-shadow: 0 18px 45px rgba(57, 7, 13, .06);
}

.vp-teams-join-card h2,
.vp-teams-message h2 {
    margin: 12px 0 12px;
    color: var(--vp-maroon, #5b0f18);
    font: 500 31px/1.2 Georgia, "Times New Roman", serif;
}

.vp-teams-join-card p,
.vp-teams-message p {
    margin: 0 auto 24px;
    max-width: 620px;
    color: #6d625a;
    line-height: 1.7;
}

.vp-teams-join-card small {
    display: block;
    margin-top: 16px;
    color: #786c64;
    line-height: 1.5;
}

.vp-teams-main-button { min-width: 240px; }

.vp-teams-mark {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    margin: 0 auto 18px;
    border-radius: 15px;
    color: #fff;
    background: #5b5fc7;
    font: 700 31px/1 Arial, sans-serif;
}

.vp-teams-om {
    color: var(--vp-gold, #c89a45);
    font: 54px Georgia, serif;
}

/* =========================================================
   LEARNING MANAGEMENT UPGRADE
   ========================================================= */
.vp-progress-box{margin:20px 0 0;padding:16px;border:1px solid rgba(121,88,38,.18);background:rgba(255,255,255,.55)}
.vp-progress-box strong{display:block;color:var(--vp-maroon);font-family:Georgia,"Times New Roman",serif;margin-bottom:9px}
.vp-progress-box small{display:block;margin-top:7px;color:var(--vp-muted)}
.vp-progress-track{height:9px;border-radius:999px;overflow:hidden;background:#eadfce}
.vp-progress-track span{display:block;height:100%;border-radius:999px;background:var(--vp-gold)}
.vp-complete-text{display:block;margin-top:6px;color:#517348;font-weight:700}
.vp-lesson-hero{padding:64px 0 52px;color:#fff8ec;background:linear-gradient(110deg,var(--vp-maroon-deep),var(--vp-maroon))}
.vp-lesson-hero h1{max-width:850px;margin:10px 0 14px;font:500 clamp(36px,5vw,58px)/1.1 Georgia,"Times New Roman",serif}
.vp-lesson-hero p{max-width:760px;margin:0;color:#eaded1;line-height:1.7}
.vp-lesson-hero .section-label,.vp-lesson-hero .vl-back-link{color:var(--vp-gold-light)}
.vp-lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;align-items:start}
.vp-video-frame{position:relative;aspect-ratio:16/9;overflow:hidden;background:#160508;box-shadow:0 18px 40px rgba(57,7,13,.12)}
.vp-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vp-lesson-description{margin-top:28px;padding:28px;border:1px solid #eadbc8;background:#fffaf3}
.vp-lesson-description h2{margin:0 0 10px;color:var(--vp-maroon);font-family:Georgia,"Times New Roman",serif}
.vp-lesson-description p{line-height:1.7;color:var(--vp-muted)}
.vp-lesson-side{position:sticky;top:110px;padding:26px;border-top:3px solid var(--vp-gold);background:#fffaf3;box-shadow:0 14px 32px rgba(57,7,13,.06)}
.vp-lesson-side h3{color:var(--vp-maroon);font-family:Georgia,"Times New Roman",serif}
.vp-lesson-side .button{width:100%;text-align:center;margin:8px 0 16px}
.vp-lesson-nav{display:flex;justify-content:space-between;gap:20px;margin-top:26px;padding-top:20px;border-top:1px solid #eadbc8}
.vp-lesson-nav a{color:var(--vp-maroon);font-weight:700}
@media(max-width:850px){.vp-lesson-layout{grid-template-columns:1fr}.vp-lesson-side{position:static}}

/* =========================================================
   SCALABLE LEARNING CATALOGUE
   ========================================================= */
.sl-hero{padding:86px 0;background:linear-gradient(115deg,#3a070d,#761722);color:#fff8ec}.sl-hero h1{max-width:850px;margin:8px 0 18px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(40px,5vw,66px);font-weight:500;line-height:1.08}.sl-hero p{max-width:760px;margin:0 0 28px;color:#eadbd1;font-size:18px;line-height:1.7}.sl-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.sl-category-card{display:block;padding:28px 24px;border:1px solid #e6d5c2;background:#fffaf3;color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.sl-category-card:hover,.sl-category-card.selected{transform:translateY(-3px);border-color:var(--vp-gold);box-shadow:0 16px 32px rgba(57,7,13,.07)}.sl-category-card>span{display:grid;place-items:center;width:50px;height:50px;margin-bottom:18px;border-radius:50%;background:#f0e2d0;color:var(--vp-maroon);font-size:24px}.sl-category-card h3{margin:0 0 10px;color:var(--vp-maroon);font-family:Georgia,"Times New Roman",serif;font-size:22px}.sl-category-card p{margin:0;color:var(--vp-muted);line-height:1.55;font-size:14px}.sl-subject-chips{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.sl-subject-chips a{padding:9px 15px;border:1px solid #dfccb7;border-radius:999px;background:#fff;color:var(--vp-maroon);text-decoration:none;font-weight:700}.sl-subject-chips a.active,.sl-subject-chips a:hover{background:var(--vp-maroon);color:#fff;border-color:var(--vp-maroon)}.sl-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.sl-course-card{display:flex;flex-direction:column;padding:28px;border:1px solid #e8d8c6;border-top:3px solid var(--vp-gold);background:#fffaf3;min-height:360px}.sl-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.sl-symbol{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#f1e4d4;color:var(--vp-maroon);font-size:23px}.sl-pill{padding:6px 10px;border-radius:999px;background:#f4eadf;color:var(--vp-maroon);font-size:11px;font-weight:800;text-transform:uppercase}.sl-course-card small,.sl-offering-card small{color:var(--vp-gold);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.sl-course-card h3,.sl-offering-card h3{margin:10px 0;color:var(--vp-maroon);font-family:Georgia,"Times New Roman",serif;font-size:25px}.sl-course-card p,.sl-offering-card p{color:var(--vp-muted);line-height:1.6}.sl-course-card dl{margin:auto 0 22px}.sl-course-card dl div{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px solid #eadccc}.sl-course-card dt{color:var(--vp-muted);font-size:12px;text-transform:uppercase}.sl-course-card dd{margin:0;text-align:right;color:var(--vp-text);font-weight:700}.sl-course-card>a,.sl-offering-card a{color:var(--vp-maroon);font-weight:800;text-decoration:none}.sl-offering-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.sl-offering-card{display:grid;grid-template-columns:auto 1fr;gap:20px;padding:26px;border:1px solid #e6d5c2;background:#fff}.sl-avatar,.sl-profile-photo{overflow:hidden;display:grid;place-items:center;border-radius:50%;background:#f1e3d2;color:var(--vp-maroon);font-family:Georgia,"Times New Roman",serif;font-size:28px}.sl-avatar{width:64px;height:64px}.sl-avatar img,.sl-profile-photo img{width:100%;height:100%;object-fit:cover}.sl-teacher-name{margin:2px 0 12px!important;color:var(--vp-maroon)!important;font-weight:700}.sl-tags{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.sl-tags span,.sl-regional-prices span{display:inline-flex;padding:5px 9px;border:1px solid #e3d2bf;border-radius:999px;background:#fffaf3;color:var(--vp-muted);font-size:11px}.sl-teacher-hero{padding:70px 0;background:linear-gradient(110deg,#3a070d,#68131d);color:#fff}.sl-teacher-hero-grid{display:grid;grid-template-columns:180px 1fr;gap:42px;align-items:center}.sl-profile-photo{width:170px;height:170px;border:3px solid rgba(232,198,110,.45);background:#f3e5d3;font-size:64px}.sl-teacher-hero h1{margin:8px 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,5vw,60px);font-weight:500}.sl-qualifications{color:var(--vp-gold-light);font-size:17px}.sl-bio{max-width:850px;color:#eadbd1;line-height:1.7}.sl-teacher-hero .sl-tags span{background:rgba(255,255,255,.08);border-color:rgba(232,198,110,.35);color:#fff1dc}.sl-regional-prices{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.sl-availability{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sl-availability>div{display:flex;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid #e7d8c6;background:#fffaf3}.sl-availability span{color:var(--vp-muted)}
@media(max-width:1050px){.sl-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sl-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.sl-category-grid,.sl-course-grid,.sl-offering-grid,.sl-availability{grid-template-columns:1fr}.sl-teacher-hero-grid{grid-template-columns:1fr}.sl-profile-photo{width:130px;height:130px}.sl-offering-card{grid-template-columns:1fr}.sl-hero{padding:60px 0}}
