/* QBO Hacks public learning experience: Bengali-first, mobile-first landing system. */
.public-shell {
    --lb-ink: #14213d;
    --lb-muted: #5c6b82;
    --lb-line: #e5eaf1;
    --lb-blue: #155eef;
    --lb-blue-dark: #0d3b91;
    --lb-green: #0b9f65;
    --lb-soft: #f6f8fb;
    background: #fff;
    color: var(--lb-ink);
    font-family: "Hind Siliguri", "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.public-shell main { background: #fff; }
.public-shell h1,.public-shell h2,.public-shell h3,.public-shell h4 { letter-spacing: -.025em; line-height: 1.25; }
.public-shell p { line-height: 1.8; }
.public-shell #main-nav { background: rgba(255,255,255,.96) !important; border-bottom: 1px solid var(--lb-line) !important; }
.public-shell #main-nav a { color: #526174; }
.public-shell #main-nav a:hover { color: var(--lb-blue); }
.public-shell .lb-hero,
.public-shell .lb-course-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #07193b 0%, #0d3eb8 45%, #1e40af 75%, #31135e 105%);
    color: #fff;
}
.public-shell .lb-hero::before,
.public-shell .lb-course-hero::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 50% 10%, rgba(56, 189, 248, 0.22) 0%, transparent 60%), radial-gradient(circle at 85% 20%, rgba(168, 85, 247, 0.20) 0%, transparent 45%); pointer-events:none; }
.public-shell .lb-hero > .absolute,
.public-shell .lb-course-hero > .absolute { position: absolute !important; inset: 0 !important; z-index: 0 !important; pointer-events: none; }
.public-shell .lb-hero > :not(.absolute),
.public-shell .lb-course-hero > :not(.absolute) { position: relative !important; z-index: 2 !important; }
.public-shell .lb-hero h1,.public-shell .lb-course-hero h1 { color:#fff; text-shadow:0 2px 24px rgba(0,0,0,.45); }
.public-shell .lb-hero h1 span,.public-shell .lb-course-hero h1 span { color:#bff7d9 !important; background:none !important; -webkit-text-fill-color:#bff7d9 !important; }
.public-shell .lb-hero p,.public-shell .lb-course-hero p { color:#eef6ff; text-shadow:0 1px 12px rgba(0,0,0,.35); }
.public-shell .lb-hero .bg-white\/10,.public-shell .lb-course-hero .bg-white\/10 { background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.28); }

/* Hero background photo & translucent light blue overlay */
.public-shell .lb-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}
.public-shell .lb-hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.85;
}
.public-shell .lb-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(8, 41, 95, 0.65) 0%, rgba(21, 94, 239, 0.45) 50%, rgba(49, 46, 129, 0.55) 100%);
    pointer-events: none;
}
.public-shell .lb-section { padding-top: clamp(3.5rem,8vw,6.5rem); padding-bottom: clamp(3.5rem,8vw,6.5rem); }
.public-shell .lb-section-heading { max-width: 45rem; margin: 0 auto 2.5rem; text-align:center; }
.public-shell .lb-kicker { color:var(--lb-blue); font-size:.76rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.public-shell .lb-card { background:#fff; border:1px solid var(--lb-line); border-radius:1.25rem; box-shadow:0 10px 28px rgba(20,33,61,.06); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.public-shell .lb-card:hover { transform:translateY(-4px); border-color:#b8cdf8; box-shadow:0 18px 38px rgba(21,94,239,.13); }
.public-shell .lb-card h3 { color:var(--lb-ink); }
.public-shell .lb-card p,.public-shell .text-gray-500,.public-shell .text-gray-600 { color:var(--lb-muted); }
.public-shell .lb-price { color:var(--lb-blue-dark); font-weight:900; }
.public-shell .lb-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; border-radius:.85rem; padding:.75rem 1.25rem; background:var(--lb-blue); color:#fff; font-weight:800; box-shadow:0 8px 18px rgba(21,94,239,.18); transition:transform .2s,background .2s; }
.public-shell .lb-button:hover { background:var(--lb-blue-dark); transform:translateY(-2px); }
.public-shell .lb-button-green { background:var(--lb-green); }
.public-shell .lb-button-green:hover { background:#087c50; }
.public-shell .lb-stat-strip { border:1px solid var(--lb-line); border-radius:1.4rem; box-shadow:0 14px 34px rgba(20,33,61,.08); background:#fff; }
.public-shell .lb-course-card img { aspect-ratio: 16/9; object-fit:cover; }
.public-shell .lb-course-card { overflow:hidden; }
.public-shell .lb-course-card .line-clamp-3 { color:var(--lb-muted); }
.public-shell .lb-dark-panel { background:#0c2550; color:#fff; border-radius:1.5rem; }
.public-shell .lb-dark-panel p { color:#dbeafe; }
.public-shell .lb-tabs { display:flex; gap:.6rem; flex-wrap:wrap; justify-content:center; }
.public-shell .lb-tabs a { border:1px solid var(--lb-line); background:#fff; color:#42526a; border-radius:999px; padding:.6rem 1rem; font-size:.9rem; font-weight:800; }
.public-shell .lb-tabs a:hover,.public-shell .lb-tabs a.active { color:var(--lb-blue); border-color:#9bb8f5; background:#eff5ff; }
.public-shell footer { background:#0c2550 !important; }
@media (max-width:640px) {
    .public-shell h1 { font-size:2.25rem; }
    .public-shell h2 { font-size:1.8rem; }
    .public-shell .lb-hero { text-align:center; }
    .public-shell .lb-hero .flex-col, .public-shell .lb-course-hero .flex-col { width:100%; }
    .public-shell .lb-stat-strip { border-radius:1rem; padding:1.1rem; }
    .public-shell .lb-stat-strip .divide-x > * { border-left:0; }
    .public-shell .lb-card { border-radius:1rem; }
}
@media (prefers-reduced-motion: reduce) { .public-shell * { transition-duration:.01ms !important; animation-duration:.01ms !important; } }


/* --- High-Impact Eye-Catching Hero Styles --- */
.public-shell .lb-hero,
.public-shell .lb-course-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #07193b 0%, #0d3eb8 45%, #1e40af 75%, #31135e 105%) !important;
    color: #fff;
}
.public-shell .lb-hero::before,
.public-shell .lb-course-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 8%, rgba(56, 189, 248, 0.25) 0%, transparent 60%),
                radial-gradient(circle at 85% 20%, rgba(168, 85, 247, 0.22) 0%, transparent 50%),
                radial-gradient(circle at 15% 90%, rgba(13, 148, 136, 0.20) 0%, transparent 45%);
    pointer-events: none;
}
.public-shell .lb-hero > .absolute,
.public-shell .lb-course-hero > .absolute {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    pointer-events: none;
}
.public-shell .lb-hero > :not(.absolute),
.public-shell .lb-course-hero > :not(.absolute) {
    position: relative !important;
    z-index: 2 !important;
}
.public-shell .lb-hero h1,
.public-shell .lb-course-hero h1 {
    color: #fff !important;
    text-shadow: 0 4px 24px rgba(0, 0, 0, 0.5) !important;
}
.public-shell .lb-hero h1 span,
.public-shell .lb-course-hero h1 span {
    color: #7dd3fc !important;
    background: linear-gradient(90deg, #38bdf8 0%, #a7f3d0 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: none !important;
}
.public-shell .lb-hero p,
.public-shell .lb-course-hero p {
    color: #e2e8f0;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
}

/* Fix navbar Admission button text color */
.public-shell #main-nav a.bg-primary,
.public-shell .bg-primary.text-white {
    color: #ffffff !important;
}

/* Tactile 3D Action Buttons in Hero */
.btn-hero-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1.05rem 2.2rem;
    font-size: 1.12rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: #ffffff !important;
    background: linear-gradient(135deg, #2563eb 0%, #4f46e5 100%);
    border-radius: 1.25rem;
    border: 1px solid rgba(191, 219, 254, 0.45);
    box-shadow: 0 12px 28px -4px rgba(37, 99, 235, 0.65), 
                0 4px 10px rgba(0, 0, 0, 0.35),
                inset 0 1px 0 rgba(255, 255, 255, 0.4);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-hero-primary:hover {
    background: linear-gradient(135deg, #1d4ed8 0%, #4338ca 100%);
    box-shadow: 0 16px 36px -4px rgba(37, 99, 235, 0.8), 
                0 6px 14px rgba(0, 0, 0, 0.4),
                inset 0 1px 0 rgba(255, 255, 255, 0.6);
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, 0.7);
}
.btn-hero-primary:active {
    transform: translateY(1px);
    box-shadow: 0 6px 14px rgba(37, 99, 235, 0.5);
}

.btn-hero-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1.05rem 2.2rem;
    font-size: 1.12rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: #0f172a !important;
    background: #ffffff;
    border-radius: 1.25rem;
    border: 2px solid #ffffff;
    box-shadow: 0 12px 28px -4px rgba(0, 0, 0, 0.4), 
                0 4px 10px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-hero-secondary:hover {
    background: #f8fafc;
    color: #1e40af !important;
    box-shadow: 0 16px 36px -4px rgba(0, 0, 0, 0.5), 
                0 0 24px rgba(255, 255, 255, 0.6);
    transform: translateY(-2px);
}
.btn-hero-secondary:active {
    transform: translateY(1px);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.3);
}

.btn-hero-advisor {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1.05rem 2.2rem;
    font-size: 1.12rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: #ffffff !important;
    background: rgba(15, 23, 42, 0.75);
    backdrop-filter: blur(12px);
    border-radius: 1.25rem;
    border: 2px solid rgba(255, 255, 255, 0.4);
    box-shadow: 0 12px 28px -4px rgba(0, 0, 0, 0.4),
                inset 0 1px 0 rgba(255, 255, 255, 0.2);
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-hero-advisor:hover {
    background: rgba(15, 23, 42, 0.95);
    border-color: #22c55e;
    box-shadow: 0 16px 36px -4px rgba(34, 197, 94, 0.35), 
                0 6px 14px rgba(0, 0, 0, 0.5);
    transform: translateY(-2px);
    color: #4ade80 !important;
}
.btn-hero-advisor:active {
    transform: translateY(1px);
}

/* Question Badges in Hero */
.hero-question-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.6rem 1.25rem;
    border-radius: 9999px;
    background: rgba(15, 23, 42, 0.70);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #f1f5f9;
    font-size: 0.88rem;
    font-weight: 600;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(10px);
    transition: all 0.2s ease;
}
.hero-question-badge:hover {
    background: rgba(15, 23, 42, 0.90);
    border-color: rgba(56, 189, 248, 0.65);
    color: #ffffff;
    box-shadow: 0 6px 18px rgba(56, 189, 248, 0.25);
    transform: translateY(-1px);
}

/* Goal Selector Buttons in Hero */
.hero-goal-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    padding: 0.95rem 1.35rem;
    border-radius: 1rem;
    background: rgba(15, 23, 42, 0.80);
    border: 1.5px solid rgba(255, 255, 255, 0.28);
    color: #ffffff !important;
    font-size: 0.95rem;
    font-weight: 700;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(10px);
    transition: all 0.25s ease;
}
.hero-goal-btn:hover {
    background: linear-gradient(135deg, rgba(30, 58, 138, 0.90) 0%, rgba(37, 99, 235, 0.80) 100%);
    border-color: rgba(56, 189, 248, 0.8);
    box-shadow: 0 10px 24px -2px rgba(56, 189, 248, 0.4);
    transform: translateY(-2px);
    color: #ffffff !important;
}
.hero-goal-btn:active {
    transform: translateY(0);
}
