/* Welcome page styles — moved from welcome.blade.php */
[x-cloak] { display: none !important; }

body {
    font-family: 'Inter', sans-serif;
    background:
        radial-gradient(circle at top left, rgba(99,102,241,.08), transparent 28%),
        radial-gradient(circle at top right, rgba(236,72,153,.06), transparent 24%),
        linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}

/* Welcome-page glass override — intentionally lighter than app.css */
.glass {
    background: rgba(255,255,255,.72);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.hero-surface {
    background:
        radial-gradient(circle at 20% 20%, rgba(167,139,250,.15), transparent 28%),
        radial-gradient(circle at 85% 25%, rgba(56,189,248,.12), transparent 26%),
        radial-gradient(circle at 70% 75%, rgba(236,72,153,.10), transparent 24%),
        linear-gradient(135deg, #f0f0ff 0%, #e8ecff 28%, #f3f0ff 64%, #f8fafc 100%);
}

.grid-pattern {
    background-image:
        linear-gradient(rgba(99,102,241,0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(99,102,241,0.045) 1px, transparent 1px);
    background-size: 32px 32px;
}

.soft-card {
    background: rgba(255,255,255,.85);
    border: 1px solid rgba(255,255,255,.7);
    box-shadow: 0 20px 60px rgba(15,23,42,.08);
}

.hero-title-gradient {
    background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 45%, #ec4899 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.section-title-gradient {
    background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 50%, #ec4899 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.teacher-card {
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.teacher-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 48px rgba(15,23,42,.13);
    border-color: rgba(99,102,241,.25);
}

.teacher-image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(15,23,42,.4), transparent 55%);
    pointer-events: none;
}

.highlight-glow {
    box-shadow: 0 0 0 1px rgba(99,102,241,.16), 0 24px 60px rgba(99,102,241,.18);
}

.skeleton {
    background: linear-gradient(90deg, #eef2f7 25%, #e5ebf3 50%, #eef2f7 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
}

@keyframes skeleton-loading {
     0% { background-position: 200% 0; }
     100% { background-position: -200% 0; }
 }

.search-shell:focus-within {
    box-shadow: 0 0 0 4px rgba(129,140,248,.22), 0 18px 40px rgba(79,70,229,.16);
}

.pill {
    border-radius: 999px;
}

.subject-tag {
    background: linear-gradient(135deg, #eef2ff, #f5f3ff);
    color: #4f46e5;
}

.group-badge {
    background: linear-gradient(135deg, #10b981, #06b6d4);
}

.discount-badge {
    background: linear-gradient(135deg, #f59e0b, #ef4444);
}

.stars-badge {
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
}

.availability-badge {
    background: linear-gradient(135deg, #ecfdf5, #d1fae5);
    color: #065f46;
}

/* Enhanced teacher card */
.teacher-card-v2 {
    position: relative;
    background: #fff;
    border-radius: 16px;
    border: 1px solid rgba(226,232,240,.9);
    transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, border-color .3s ease;
    display: flex;
    flex-direction: column;
}
.teacher-card-v2:hover {
    z-index: 20;
    transform: translateY(-6px);
    box-shadow: 0 24px 50px -12px rgba(15,23,42,.18);
    border-color: rgba(99,102,241,.35);
}
.teacher-card-v2:hover .teacher-photo-img {
    transform: scale(1.06);
}
.teacher-card-v2:hover .cta-arrow {
    transform: translateX(3px);
}
.teacher-photo-img {
    transition: transform .6s cubic-bezier(.16,1,.3,1);
}
.teacher-photo-overlay {
    background: linear-gradient(to top, rgba(15,23,42,.78) 0%, rgba(15,23,42,.25) 45%, transparent 70%);
}
.cta-arrow {
    transition: transform .25s ease;
}
.price-block {
    background: linear-gradient(135deg, #eef2ff 0%, #f5f3ff 100%);
    border: 1px solid rgba(99,102,241,.18);
}
.cta-book {
    background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
    box-shadow: 0 6px 18px -6px rgba(79,70,229,.5);
    transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.cta-book:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px -6px rgba(79,70,229,.6);
    opacity: .96;
}
.live-dot {
    background: #10b981;
    box-shadow: 0 0 0 0 rgba(16,185,129,.7);
    animation: live-pulse 1.8s infinite;
}
@keyframes live-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(16,185,129,.7); }
    70%  { box-shadow: 0 0 0 8px rgba(16,185,129,0); }
    100% { box-shadow: 0 0 0 0 rgba(16,185,129,0); }
}
.pill-soft {
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(8px);
}
.badge-top {
    background: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
    color: #fff;
    box-shadow: 0 4px 12px -2px rgba(245,158,11,.45);
}
.badge-group {
    background: linear-gradient(135deg, #10b981 0%, #06b6d4 100%);
    color: #fff;
    box-shadow: 0 4px 12px -2px rgba(16,185,129,.45);
}
.badge-discount {
    background: linear-gradient(135deg, #f43f5e 0%, #ec4899 100%);
    color: #fff;
    box-shadow: 0 4px 12px -2px rgba(244,63,94,.45);
}
.subject-pill {
    background: linear-gradient(135deg, #eef2ff, #f5f3ff);
    color: #4338ca;
    border: 1px solid rgba(99,102,241,.15);
}
.slot-chip {
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
    border: 1px solid rgba(16,185,129,.25);
}

.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.tab-btn.active {
    color: #312e81;
    border-color: #6366f1;
    background: linear-gradient(135deg, #eef2ff, #faf5ff);
    box-shadow: inset 0 0 0 1px rgba(99,102,241,.10);
}

.cal-day {
    min-height: 96px;
    transition: background .2s ease;
}

.cal-day:hover {
    background: #fafbff;
}

.cal-subject {
    cursor: pointer;
    transition: transform .15s ease, background .15s ease;
}

.cal-subject:hover {
    transform: scale(1.03);
    background: #e0e7ff;
}

.floating-card {
    animation: floatY 6s ease-in-out infinite;
}

.floating-card.delay-1 { animation-delay: .8s; }
.floating-card.delay-2 { animation-delay: 1.6s; }
.floating-card.delay-3 { animation-delay: 2.4s; }

@keyframes floatY {
     0%, 100% { transform: translateY(0); }
     50% { transform: translateY(-10px); }
 }

@keyframes fadeUp {
     from { opacity: 0; transform: translateY(26px); }
     to { opacity: 1; transform: translateY(0); }
 }

.fade-up {
    animation: fadeUp .7s cubic-bezier(.22,1,.36,1) both;
}

.blob {
    filter: blur(10px);
    opacity: .4;
}

.feature-illustration {
    background:
        radial-gradient(circle at 25% 20%, rgba(129,140,248,.12), transparent 28%),
        radial-gradient(circle at 80% 25%, rgba(236,72,153,.10), transparent 28%),
        linear-gradient(180deg, #ffffff, #f8fafc);
}

.MOPA-badge {
    background: linear-gradient(135deg, #4f46e5, #9333ea);
}

.hero-mini-icon {
    box-shadow: 0 12px 26px rgba(15,23,42,.16);
}

.faq-item-open {
    box-shadow: 0 16px 34px rgba(15,23,42,.07);
    border-color: rgba(99,102,241,.22);
}
