/* ====================================================================
   The AI Nexus Club — основной стиль лендинга (общий для всех языков)
   ==================================================================== */

:root {
    --bg-color: #0a0a0f;
    --text-color: #e0e0e0;
    --accent-cyan: #00d4ff;
    --accent-purple: #7b2ff7;
    --card-bg: #12121a;
    --border-color: #1f1f2e;
}

* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; }
html { scroll-behavior: smooth; }
body { background-color: var(--bg-color); color: var(--text-color); line-height: 1.6; -webkit-font-smoothing: antialiased; }
a { color: var(--accent-cyan); text-decoration: none; transition: color 0.3s; }
a:hover { color: var(--accent-purple); }
img { max-width: 100%; height: auto; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
section { padding: 20px 0; }
h1, h2, h3 { text-align: center; margin-bottom: 10px; }
h1 { font-size: 3.5rem; background: linear-gradient(90deg, var(--accent-cyan), var(--accent-purple)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; line-height: 1.2; position: relative; z-index: 2; }
h2 { font-size: 2.5rem; color: #ffffff; }

/* Доступность: визуально скрытые подписи */
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ===== Шапка ===== */
header { position: fixed; top: 0; width: 100%; background: rgba(10, 10, 15, 0.92); backdrop-filter: blur(10px); z-index: 1000; padding: 14px 0; border-bottom: 1px solid var(--border-color); }
.nav-container { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.logo { font-size: 1.5rem; font-weight: 800; color: #fff; white-space: nowrap; }
.logo span { color: var(--accent-cyan); }
.header-right { display: flex; align-items: center; gap: 24px; }
.nav-links { display: flex; gap: 24px; list-style: none; align-items: center; }
.nav-links a { color: var(--text-color); font-weight: 500; }
.mobile-menu-btn { display: none; background: none; border: none; color: white; font-size: 1.6rem; cursor: pointer; line-height: 1; }

/* ===== Переключатель языков (сверху, всегда виден) ===== */
.lang-switcher { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.lang-switcher a { color: #888; font-size: 0.8rem; font-weight: 600; text-transform: uppercase; padding: 2px 5px; border-radius: 4px; letter-spacing: 0.3px; }
.lang-switcher a:hover { color: #fff; background: var(--border-color); }
.lang-switcher a.active { color: var(--accent-cyan); background: rgba(0, 212, 255, 0.1); }

/* ===== Хлебные крошки ===== */
.breadcrumbs { padding-top: 88px; }
.breadcrumbs ol { list-style: none; display: flex; gap: 8px; font-size: 0.85rem; color: #666; flex-wrap: wrap; }
.breadcrumbs li::after { content: '/'; margin-left: 8px; color: #444; }
.breadcrumbs li:last-child::after { content: ''; }
.breadcrumbs a { color: #888; }

/* ===== Hero ===== */
#hero { padding-top: 40px; padding-bottom: 40px; text-align: center; position: relative; overflow: hidden; background: radial-gradient(circle at top, #1a1a2e 0%, var(--bg-color) 60%); }
.hero-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url('/assets/img/hero-bg.webp'); background-size: cover; background-position: center; opacity: 0.2; z-index: 0; }
#hero .container { position: relative; z-index: 2; }
#hero p { font-size: 1.2rem; color: #a0a0a0; max-width: 700px; margin: 10px auto 20px auto; }
.hero-form { display: flex; max-width: 500px; margin: 0 auto; gap: 10px; }
input[type="email"] { flex: 1; padding: 15px; border-radius: 8px; border: 1px solid var(--border-color); background: rgba(18, 18, 26, 0.8); color: white; font-size: 1rem; outline: none; backdrop-filter: blur(5px); }
input[type="email"]:focus { border-color: var(--accent-cyan); }
.btn { padding: 15px 30px; background: linear-gradient(45deg, var(--accent-cyan), var(--accent-purple)); color: white; border: none; border-radius: 8px; font-weight: 600; cursor: pointer; transition: transform 0.3s, box-shadow 0.3s; white-space: nowrap; display: inline-block; text-align: center; }
.btn:hover { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(123, 47, 247, 0.3); }
.small-text { font-size: 0.8rem; color: #888; margin-top: 3px; }

/* ===== Сетки и карточки ===== */
.pain-grid, .value-grid, .formats-grid, .reviews-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; }
.pain-card { background: var(--card-bg); padding: 20px; border-radius: 12px; border-left: 4px solid var(--accent-purple); }
.value-card { background: var(--card-bg); padding: 20px; border-radius: 12px; text-align: center; border: 1px solid var(--border-color); transition: transform 0.3s, border-color 0.3s; }
.value-card:hover { transform: translateY(-5px); border-color: var(--accent-cyan); }
.value-icon { font-size: 2rem; margin-bottom: 10px; }

.audience-flex { display: flex; gap: 40px; align-items: center; }
.audience-img { width: 45%; border-radius: 16px; border: 1px solid var(--border-color); }
.audience-content { width: 55%; background: var(--card-bg); padding: 20px; border-radius: 12px; border: 1px solid var(--border-color); }
.audience-list { list-style: none; }
.audience-list li { margin-bottom: 10px; padding-left: 30px; position: relative; }
.audience-list li::before { content: '✓'; position: absolute; left: 0; color: var(--accent-cyan); font-weight: bold; }

.format-card { background: linear-gradient(135deg, var(--card-bg) 0%, #1a1a2e 100%); padding: 20px; border-radius: 12px; border-top: 3px solid var(--accent-purple); display: flex; flex-direction: column; align-items: center; text-align: center; }
.platform-icon { width: 50px; height: 50px; margin-bottom: 15px; fill: var(--accent-cyan); }

.review-card { background: var(--card-bg); padding: 20px; border-radius: 12px; font-style: italic; color: #bbb; position: relative; }
.review-card::before { content: '"'; font-size: 4rem; color: var(--accent-purple); position: absolute; top: -10px; left: 20px; opacity: 0.5; }
.review-author { margin-top: 15px; font-style: normal; font-weight: bold; color: white; display: flex; align-items: center; gap: 15px; }
.avatar { width: 50px; height: 50px; border-radius: 50%; object-fit: cover; border: 2px solid var(--accent-purple); }

.pricing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; align-items: center; }
.pricing-card { background: var(--card-bg); padding: 30px 20px; border-radius: 16px; text-align: center; border: 1px solid var(--border-color); }
.pricing-card.featured { border: 2px solid var(--accent-cyan); transform: scale(1.05); box-shadow: 0 0 30px rgba(0, 212, 255, 0.1); }
.price { font-size: 3rem; font-weight: 800; color: white; margin: 10px 0; }
.price span { font-size: 1rem; color: #888; font-weight: normal; }
.pricing-features { list-style: none; margin-bottom: 20px; text-align: left; }
.pricing-features li { margin-bottom: 10px; padding-left: 25px; position: relative; }
.pricing-features li::before { content: '•'; color: var(--accent-cyan); position: absolute; left: 5px; font-size: 1.5rem; line-height: 1; }
.period-label { font-size: 0.85rem; color: #888; margin: 4px 0 10px; text-align: center; }
.period-options { display: grid; gap: 8px; }
.period-options .btn { width: 100%; white-space: normal; }
.period-options .btn.alt { background: transparent; border: 1px solid var(--accent-cyan); }

.faq-item { background: var(--card-bg); margin-bottom: 10px; border-radius: 8px; overflow: hidden; border: 1px solid var(--border-color); }
.faq-question { width: 100%; padding: 15px 20px; background: none; border: none; color: white; font-size: 1.1rem; text-align: left; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.faq-question::after { content: '+'; font-size: 1.5rem; color: var(--accent-cyan); transition: transform 0.3s; flex-shrink: 0; }
.faq-question.active::after { transform: rotate(45deg); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out; padding: 0 20px; color: #aaa; }
.faq-answer p { padding-bottom: 15px; }

#final-cta { background: radial-gradient(circle at bottom, #1a1a2e 0%, var(--bg-color) 60%); text-align: center; }
#final-cta h2 { font-size: 3rem; background: linear-gradient(90deg, var(--accent-cyan), var(--accent-purple)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; line-height: 1.2; }

footer { text-align: center; padding: 20px 0; border-top: 1px solid var(--border-color); color: #777; }
.footer-links { margin-bottom: 10px; display: flex; justify-content: center; gap: 20px; font-size: 1.5rem; }
.footer-legal { font-size: 0.85rem; margin-top: 8px; }
.footer-legal a { color: #888; }

/* ====================================================================
   RTL (арабский язык)
   ==================================================================== */
[dir="rtl"] .pain-card { border-left: none; border-right: 4px solid var(--accent-purple); }
[dir="rtl"] .pricing-features { text-align: right; }
[dir="rtl"] .pricing-features li { padding-left: 0; padding-right: 25px; }
[dir="rtl"] .pricing-features li::before { left: auto; right: 5px; }
[dir="rtl"] .audience-list li { padding-left: 0; padding-right: 30px; }
[dir="rtl"] .audience-list li::before { left: auto; right: 0; }
[dir="rtl"] .faq-question { text-align: right; }
[dir="rtl"] .review-card::before { left: auto; right: 20px; }
[dir="rtl"] .breadcrumbs li::after { margin-left: 0; margin-right: 8px; }

/* ====================================================================
   Адаптив (мобильные устройства)
   ==================================================================== */
@media (max-width: 900px) {
    .header-right { gap: 14px; }
    .nav-links { gap: 18px; }
}

@media (max-width: 768px) {
    h1 { font-size: 2.4rem; }
    h2 { font-size: 1.9rem; }
    #final-cta h2 { font-size: 2.1rem; }
    .nav-links { display: none; flex-direction: column; position: absolute; top: 64px; left: 0; width: 100%; background: var(--bg-color); padding: 20px; text-align: center; border-bottom: 1px solid var(--border-color); }
    .nav-links.active { display: flex; }
    .mobile-menu-btn { display: block; }
    .lang-switcher { gap: 2px; }
    .lang-switcher a { font-size: 0.72rem; padding: 2px 4px; }
    .hero-form { flex-direction: column; }
    .pricing-card.featured { transform: scale(1); }
    .audience-flex { flex-direction: column; }
    .audience-img, .audience-content { width: 100%; }
}

@media (max-width: 420px) {
    .logo { font-size: 1.2rem; }
    .container { padding: 0 14px; }
}
