/* Takavi Theme Variables – scoped to page content */
.faq-page-content {
    --primary: #da0b4e;
    --primary-dark: #b30940;
    --primary-light: #ff4d7a;
    --secondary: #4f46e5;
    --secondary-light: #818cf8;
    --success: #10b981;
    --danger: #ef4444;
    --warning: #f59e0b;
    --dark: #1e293b;
    --light: #f8fafc;
    --gray-100: #f1f5f9;
    --gray-200: #e2e8f0;
    --gray-300: #cbd5e1;
    --gray-400: #94a3b8;
    --gray-500: #64748b;
    --gray-600: #475569;
    --gray-700: #334155;
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --radius-xl: 30px;
    --radius-full: 9999px;
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* page wrapper – only background, does not affect header */
.faq-page-wrapper {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    min-height: 100vh;
    overflow-x: hidden;
    font-family: 'Inter', sans-serif;
}

/* container */
.faq-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ===== ANIMATED HERO SECTION ===== */
.faq-hero {
    position: relative;
    padding: 60px 0 80px;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    overflow: hidden;
}

.hero-shapes {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.shape {
    position: absolute;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    animation: float 20s infinite;
}

.shape-1 {
    width: 300px;
    height: 300px;
    top: -150px;
    right: -100px;
    animation-delay: 0s;
}

.shape-2 {
    width: 200px;
    height: 200px;
    bottom: -100px;
    left: -50px;
    animation-delay: 5s;
}

.shape-3 {
    width: 150px;
    height: 150px;
    top: 50%;
    left: 20%;
    animation-delay: 10s;
}

.shape-4 {
    width: 100px;
    height: 100px;
    bottom: 20%;
    right: 15%;
    animation-delay: 15s;
}

@keyframes float {
    0%, 100% { transform: translate(0, 0) scale(1); }
    25% { transform: translate(30px, 30px) scale(1.1); }
    50% { transform: translate(50px, -20px) scale(0.9); }
    75% { transform: translate(-20px, 40px) scale(1.05); }
}

.particles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.particle {
    position: absolute;
    width: 4px;
    height: 4px;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    animation: particleFloat 10s infinite;
}

@keyframes particleFloat {
    0% { transform: translateY(0) translateX(0); opacity: 0; }
    10% { opacity: 1; }
    90% { opacity: 1; }
    100% { transform: translateY(-100px) translateX(50px); opacity: 0; }
}

.breadcrumb {
    position: relative;
    z-index: 10;
    margin-bottom: 20px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 14px;
}

.breadcrumb a {
    color: white;
    text-decoration: none;
    opacity: 0.9;
    transition: var(--transition);
}

.breadcrumb a:hover {
    opacity: 1;
    text-decoration: underline;
}

.hero-content {
    position: relative;
    z-index: 10;
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    color: white;
}

.hero-title {
    font-family: 'Poppins', sans-serif;
    font-size: 56px;
    font-weight: 800;
    margin-bottom: 20px;
    line-height: 1.2;
    text-shadow: 0 2px 10px rgba(0,0,0,0.2);
    animation: fadeInUp 1s ease;
}

.hero-title .highlight {
    position: relative;
    display: inline-block;
    background: linear-gradient(135deg, #fff, #ffe6f0);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero-title .highlight::after {
    content: '';
    position: absolute;
    bottom: 5px;
    left: 0;
    width: 100%;
    height: 8px;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 4px;
    z-index: -1;
}

.hero-subtitle {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 30px;
    opacity: 0.95;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    animation: fadeInUp 1s ease 0.2s both;
}

.last-updated {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.15);
    padding: 10px 25px;
    border-radius: var(--radius-full);
    font-size: 14px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    animation: fadeInUp 1s ease 0.4s both;
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ===== SEARCH SECTION ===== */
.search-section {
    margin-top: -30px;
    position: relative;
    z-index: 20;
    padding-bottom: 40px;
}

.search-wrapper {
    background: white;
    border-radius: var(--radius-full);
    box-shadow: var(--shadow-2xl);
    padding: 5px;
    display: flex;
    align-items: center;
    max-width: 700px;
    margin: 0 auto;
    border: 1px solid rgba(255,255,255,0.2);
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.95);
    transform: translateY(0);
    transition: var(--transition);
}

.search-wrapper:hover {
    transform: translateY(-2px);
    box-shadow: 0 30px 40px -15px rgba(0,0,0,0.3);
}

.search-icon {
    color: var(--primary);
    margin-left: 20px;
    font-size: 18px;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0%,100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

#faqSearch {
    flex: 1;
    padding: 15px 15px 15px 10px;
    border: none;
    font-size: 16px;
    background: transparent;
}
#faqSearch:focus { outline: none; }

.search-btn {
    border-radius: var(--radius-full);
    padding: 12px 30px;
    margin: 5px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color: white;
    border: none;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
    position: relative;
    overflow: hidden;
}
.search-btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255,255,255,0.3);
    transform: translate(-50%,-50%);
    transition: width 0.6s, height 0.6s;
}
.search-btn:hover::before {
    width: 300px;
    height: 300px;
}
.search-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px -5px rgba(218,11,78,0.4);
}

/* ===== CATEGORY CARDS ===== */
.category-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin: 40px 0;
}

.category-card {
    background: white;
    border-radius: var(--radius-lg);
    padding: 25px 20px;
    text-align: center;
    box-shadow: var(--shadow-lg);
    transition: var(--transition);
    cursor: pointer;
    border: 2px solid transparent;
    position: relative;
    overflow: hidden;
}
.category-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary), var(--secondary));
    transform: scaleX(0);
    transition: transform 0.3s ease;
}
.category-card:hover::before { transform: scaleX(1); }
.category-card:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: var(--shadow-2xl);
    border-color: var(--primary-light);
}
.card-icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, var(--primary-light), var(--secondary-light));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px;
    color: white;
    font-size: 28px;
    transition: var(--transition);
}
.category-card:hover .card-icon {
    transform: rotate(360deg) scale(1.1);
}
.category-card h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 5px;
}
.category-card p {
    font-size: 13px;
    color: var(--gray-500);
}

/* ===== FAQ SECTIONS (side by side) ===== */
.faq-sections {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 60px;
}

.faq-card {
    background: white;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xl);
    overflow: hidden;
    border: 1px solid var(--gray-200);
    transition: var(--transition);
}
.faq-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-2xl);
}

.card-header {
    padding: 30px;
    position: relative;
    overflow: hidden;
}
.tutor-header { background: linear-gradient(135deg, var(--primary), var(--secondary)); }
.student-header { background: linear-gradient(135deg, var(--primary), var(--secondary)); }
.header-pattern {
    position: absolute;
    top:0; left:0; right:0; bottom:0;
    background-image: radial-gradient(circle at 30% 50%, rgba(255,255,255,0.1) 0%, transparent 50%);
    opacity:0.3;
}
.header-content {
    position: relative;
    z-index:10;
    display: flex;
    align-items: center;
    gap:15px;
    color:white;
}
.header-icon {
    width:70px; height:70px;
    background: rgba(255,255,255,0.2);
    border-radius:50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size:30px;
    backdrop-filter:blur(5px);
    border:2px solid rgba(255,255,255,0.3);
    animation:pulse 3s infinite;
}
.header-text h2 { font-size:28px; font-weight:700; margin-bottom:5px; }
.header-text p { font-size:14px; opacity:0.9; }
.header-badge {
    margin-left:auto;
    background: rgba(255,255,255,0.2);
    padding:8px 16px;
    border-radius:var(--radius-full);
    font-size:13px;
    font-weight:600;
    backdrop-filter:blur(5px);
    border:1px solid rgba(255,255,255,0.3);
}

.category-pills {
    padding:20px 30px;
    background:var(--gray-100);
    border-bottom:1px solid var(--gray-200);
    display: flex;
    flex-wrap: wrap;
    gap:8px;
}
.pill {
    padding:8px 16px;
    border:none;
    background:white;
    color:var(--gray-700);
    border-radius:var(--radius-full);
    font-size:13px;
    font-weight:500;
    cursor:pointer;
    transition:var(--transition);
    border:1px solid var(--gray-200);
    box-shadow:var(--shadow-sm);
}
.pill:hover {
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color:white;
    border-color:transparent;
    transform:translateY(-2px) scale(1.05);
    box-shadow:var(--shadow-lg);
}
.pill.active {
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color:white;
    border-color:transparent;
}

.faq-items {
    padding:20px 30px 30px;
    max-height:500px;
    overflow-y:auto;
    scrollbar-width:thin;
    scrollbar-color: var(--primary) var(--gray-200);
}
.faq-items::-webkit-scrollbar { width:6px; }
.faq-items::-webkit-scrollbar-track { background:var(--gray-200); border-radius:10px; }
.faq-items::-webkit-scrollbar-thumb { background: linear-gradient(135deg, var(--primary), var(--secondary)); border-radius:10px; }

.faq-item {
    margin-bottom:15px;
    border:1px solid var(--gray-200);
    border-radius:var(--radius-lg);
    overflow:hidden;
    transition:var(--transition);
    background:white;
}
.faq-item:hover {
    border-color:var(--primary);
    box-shadow:var(--shadow-lg);
    transform:scale(1.02);
}

.faq-question {
    padding:18px 20px;
    background:white;
    display:flex;
    justify-content:space-between;
    align-items:center;
    cursor:pointer;
    transition:var(--transition);
}
.faq-question.active { background: linear-gradient(135deg, rgba(218,11,78,0.05), rgba(79,70,229,0.05)); }
.question-content { flex:1; }
.category-tag {
    display:inline-block;
    background: linear-gradient(135deg, var(--primary-light), var(--secondary-light));
    color:white;
    padding:4px 12px;
    border-radius:var(--radius-full);
    font-size:10px;
    font-weight:600;
    margin-bottom:8px;
    text-transform:uppercase;
    letter-spacing:0.5px;
}
.faq-question h3 {
    font-size:16px;
    font-weight:600;
    color:var(--dark);
    margin:0;
    line-height:1.4;
}
.faq-question i {
    color:var(--primary);
    font-size:18px;
    transition:var(--transition);
    margin-left:15px;
    flex-shrink:0;
    width:24px; height:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--gray-100);
    border-radius:50%;
}
.faq-question.active i {
    transform:rotate(180deg);
    background:var(--primary);
    color:white;
}

.faq-answer {
    max-height:0;
    overflow:hidden;
    transition:max-height 0.5s cubic-bezier(0.4,0,0.2,1);
    background:var(--gray-100);
    border-top:1px solid transparent;
}
.faq-answer.show {
    max-height:500px;
    border-top-color:var(--gray-200);
}
.answer-content { padding:20px; }
.answer-content p {
    font-size:14px;
    color:var(--gray-600);
    line-height:1.7;
    margin-bottom:15px;
}
.answer-list {
    list-style:none; padding:0; margin:15px 0;
}
.answer-list li {
    display:flex;
    align-items:center;
    gap:10px;
    font-size:13px;
    color:var(--gray-700);
    margin-bottom:8px;
}
.answer-list li i { color:var(--success); font-size:14px; }
.btn-link {
    color:var(--primary);
    text-decoration:none;
    font-weight:600;
    font-size:13px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    transition:var(--transition);
    background:none;
    border:none;
    cursor:pointer;
}
.btn-link:hover {
    color:var(--primary-dark);
    gap:12px;
}

/* ===== STATS SECTION ===== */
.stats-section {
    background: linear-gradient(135deg, rgba(255,255,255,0.95), rgba(255,255,255,0.98));
    border-radius:var(--radius-xl);
    padding:50px 40px;
    margin-bottom:60px;
    box-shadow:var(--shadow-xl);
    backdrop-filter:blur(10px);
}
.stats-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    text-align:center;
}
.stat-item { position:relative; }
.stat-item:not(:last-child)::after {
    content:'';
    position:absolute;
    right:-15px; top:50%;
    transform:translateY(-50%);
    width:1px; height:40px;
    background: linear-gradient(to bottom, transparent, var(--gray-300), transparent);
}
.stat-number {
    font-size:42px;
    font-weight:800;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
    margin-bottom:5px;
}
.stat-label { font-size:14px; color:var(--gray-600); font-weight:500; }

/* ===== HELP SECTION ===== */
.help-section {
    padding:60px 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.9), rgba(255,255,255,0.95));
    border-radius:var(--radius-xl);
    margin-bottom:40px;
}
.help-container {
    max-width:1000px;
    margin:0 auto;
    text-align:center;
}
.help-container h2 {
    font-family:'Poppins',sans-serif;
    font-size:36px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:15px;
}
.help-container > p {
    font-size:16px;
    color:var(--gray-600);
    max-width:600px;
    margin:0 auto 40px;
    line-height:1.6;
}
.help-options {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}
.help-option {
    background:white;
    padding:35px 25px;
    border-radius:var(--radius-xl);
    box-shadow:var(--shadow-lg);
    transition:var(--transition);
    border:1px solid var(--gray-200);
    position:relative;
    overflow:hidden;
}
.help-option::before {
    content:'';
    position:absolute;
    top:0; left:0; right:0;
    height:4px;
    background: linear-gradient(90deg, var(--primary), var(--secondary));
}
.help-option:hover {
    transform:translateY(-10px);
    box-shadow:var(--shadow-2xl);
    border-color:var(--primary);
}
.help-icon {
    width:80px; height:80px;
    background: linear-gradient(135deg, var(--primary-light), var(--secondary-light));
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 20px;
    color:white;
    font-size:32px;
    transition:var(--transition);
}
.help-option:hover .help-icon {
    transform:scale(1.1) rotate(360deg);
}
.help-option h3 { font-size:20px; font-weight:700; color:var(--dark); margin-bottom:10px; }
.help-option p { font-size:14px; color:var(--gray-600); margin-bottom:15px; }
.help-option .btn-link { font-size:15px; font-weight:600; }

/* ===== RELATED LINKS ===== */
.related-links { padding:20px 0 40px; }
.links-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}
.link-card {
    display:flex;
    align-items:center;
    gap:15px;
    padding:20px;
    background:white;
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-md);
    text-decoration:none;
    transition:var(--transition);
    border:1px solid var(--gray-200);
    position:relative;
    overflow:hidden;
}
.link-card::before {
    content:'';
    position:absolute;
    top:0; left:0;
    width:4px; height:0;
    background: linear-gradient(to bottom, var(--primary), var(--secondary));
    transition:height 0.3s ease;
}
.link-card:hover::before { height:100%; }
.link-card:hover {
    transform:translateX(5px);
    box-shadow:var(--shadow-lg);
    border-color:var(--primary);
}
.link-card i:first-child {
    width:45px; height:45px;
    background:var(--gray-100);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--primary);
    font-size:20px;
    transition:var(--transition);
}
.link-card:hover i:first-child {
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color:white;
    transform:rotate(360deg);
}
.link-card div { flex:1; }
.link-card h4 { font-size:15px; font-weight:600; color:var(--dark); margin-bottom:3px; }
.link-card p { font-size:12px; color:var(--gray-600); margin:0; }
.link-card > i:last-child { color:var(--gray-400); font-size:14px; transition:var(--transition); }
.link-card:hover > i:last-child { color:var(--primary); transform:translateX(5px); }

/* ===== QUICK NAVIGATION ===== */
.quick-nav {
    position:fixed;
    bottom:30px; right:30px;
    z-index:100;
}
.quick-nav-toggle {
    width:60px; height:60px;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:white;
    font-size:24px;
    cursor:pointer;
    box-shadow:var(--shadow-xl);
    transition:var(--transition);
    border:2px solid white;
}
.quick-nav-toggle:hover {
    transform:scale(1.1) rotate(90deg);
}
.quick-nav-menu {
    position:absolute;
    bottom:70px; right:0;
    background:white;
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-2xl);
    padding:15px;
    min-width:200px;
    display:none;
    border:1px solid var(--gray-200);
}
.quick-nav-menu.show { display:block; animation:slideIn 0.3s ease; }
@keyframes slideIn {
    from { opacity:0; transform:translateY(20px); }
    to { opacity:1; transform:translateY(0); }
}
.quick-nav-item {
    display:block;
    padding:10px 15px;
    color:var(--gray-700);
    text-decoration:none;
    border-radius:var(--radius-md);
    transition:var(--transition);
}
.quick-nav-item:hover {
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color:white;
    transform:translateX(5px);
}

/* ===== RESPONSIVE ===== */
@media (max-width:992px){
    .hero-title{font-size:42px;}
    .category-cards{grid-template-columns:repeat(2,1fr);}
    .faq-sections{grid-template-columns:1fr;}
    .stats-grid{grid-template-columns:repeat(2,1fr);}
    .stats-grid .stat-item:nth-child(2)::after{display:none;}
    .help-options{grid-template-columns:repeat(2,1fr);}
    .links-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:768px){
    .hero-title{font-size:36px;}
    .search-wrapper{flex-wrap:wrap; padding:10px;}
    #faqSearch{width:100%; border:1px solid var(--gray-200); border-radius:var(--radius-full); margin-bottom:10px; padding:15px;}
    .search-btn{width:100%; justify-content:center;}
    .category-pills{overflow-x:auto; flex-wrap:nowrap;}
    .pill{flex:0 0 auto;}
    .help-options{grid-template-columns:1fr;}
    .links-grid{grid-template-columns:1fr;}
}
@media (max-width:480px){
    .hero-title{font-size:28px;}
    .category-cards{grid-template-columns:1fr;}
    .stats-grid{grid-template-columns:1fr;}
    .stats-grid .stat-item::after{display:none;}
    .header-content{flex-direction:column; text-align:center;}
    .header-badge{margin-left:0;}
}