/* --- Root Variables & Global Styles --- */
:root {
    --green: #006C35; --gold: #C9A646; --dark-blue: #1A2E44; --white: #FFFFFF; --light-gray: #F7F9FC; --text-color: #333; --text-color-light: #666; --font-family-ar: 'Tajawal', sans-serif; --font-family-en: 'Poppins', sans-serif; --border-radius: 12px; --box-shadow: 0 10px 30px rgba(0, 0, 0, 0.07);
}
html { scroll-behavior: smooth; }
body { margin: 0; line-height: 1.8; color: var(--text-color); background-color: var(--white); transition: font-family 0.2s; }
html[lang="ar"] body { font-family: var(--font-family-ar); }
html[lang="en"] body { font-family: var(--font-family-en); }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.section { padding: 100px 0; }
.section-gray { background-color: var(--light-gray); }
.section-title { font-size: 42px; font-weight: 800; text-align: center; color: var(--dark-blue); margin-bottom: 20px; }
.section-subtitle { font-size: 18px; text-align: center; color: var(--text-color-light); max-width: 700px; margin: 0 auto 60px; }
.text-center { text-align: center; }

/* --- Components (Buttons, Header, etc.) --- */
.btn { padding: 12px 30px; border-radius: 8px; font-weight: 700; font-size: 16px; text-decoration: none; transition: all 0.3s; border: 2px solid transparent; cursor: pointer; }
.btn-primary { background-color: var(--green); color: var(--white); }
.btn-primary:hover { background-color: #00562b; transform: translateY(-3px); }
.btn-secondary { background-color: var(--light-gray); color: var(--dark-blue); }
.btn-primary-outline { background-color: transparent; color: var(--green); border-color: var(--green); }
.btn-primary-outline:hover { background-color: var(--green); color: var(--white); }
.btn-gold { background-color: var(--gold); color: var(--dark-blue); font-weight: 700; }
.main-header { position: sticky; top: 0; width: 100%; z-index: 1000; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); box-shadow: 0 2px 10px rgba(0,0,0,0.05); }
.main-header nav { display: flex; justify-content: space-between; align-items: center; padding: 15px 0; }
.logo img { height: 40px; }
.nav-links { list-style: none; display: flex; gap: 30px; margin: 0; padding: 0; }
.nav-links a { font-weight: 500; color: var(--dark-blue); text-decoration: none; transition: color 0.3s; }
.nav-links a:hover { color: var(--green); }
.header-tools { display: flex; align-items: center; gap: 15px; }
.btn-lang { padding: 8px 15px; background-color: var(--light-gray); color: var(--dark-blue); border: 2px solid transparent; font-weight: 600; }

/* --- Section Styles --- */
.hero-section { min-height: 80vh; display: flex; align-items: center; text-align: center; }
.hero-content h1 { font-size: 58px; font-weight: 800; color: var(--dark-blue); line-height: 1.3; }
.hero-buttons { display: flex; justify-content: center; gap: 20px; margin-top: 40px; }
.two-column-layout { display: flex; gap: 60px; align-items: center; }
.two-column-layout > div { flex: 1; }
.section-title.left-aligned { text-align: right; }
html[lang="en"] .section-title.left-aligned { text-align: left; }
.about-section ul { list-style: none; padding-right: 20px; }
.about-section li { padding-right: 25px; margin-bottom: 15px; position: relative; }
.about-section li::before { content: '✔'; position: absolute; right: 0; color: var(--green); }
html[lang="en"] .about-section ul { padding-right: 0; padding-left: 20px; }
html[lang="en"] .about-section li { padding-right: 0; padding-left: 25px; }
html[lang="en"] .about-section li::before { right: auto; left: 0; }
.image-block img { max-width: 100%; border-radius: var(--border-radius); }
.benefits-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px; }
.benefit-card { background: var(--white); padding: 30px; text-align: center; border-radius: var(--border-radius); box-shadow: var(--box-shadow); }
.benefit-card img { height: 50px; margin-bottom: 15px; }
.timeline-wrapper { position: relative; padding: 20px 0; }
.timeline-wrapper::before { content: ''; position: absolute; top: 0; bottom: 0; right: 50%; width: 3px; background-color: #e0e0e0; margin-right: -1.5px; }
html[lang="en"] .timeline-wrapper::before { right: auto; left: 50%; margin-left: -1.5px; }
.timeline-item { position: relative; margin-bottom: 50px; width: 50%; }
.timeline-item:nth-child(odd) { right: 0; padding-left: 30px; text-align: right; }
.timeline-item:nth-child(even) { left: 50%; padding-right: 30px; text-align: left; }
html[lang="en"] .timeline-item:nth-child(odd) { right: auto; left: 0; padding-left: 0; padding-right: 30px; text-align: left; }
html[lang="en"] .timeline-item:nth-child(even) { left: auto; right: 50%; padding-right: 0; padding-left: 30px; text-align: right; }
.timeline-date { font-weight: 700; color: var(--green); }
.timeline-content { background: var(--light-gray); padding: 20px; border-radius: var(--border-radius); }
.timeline-item::after { content: ''; position: absolute; top: 5px; right: -40px; width: 20px; height: 20px; background: var(--white); border: 4px solid var(--green); border-radius: 50%; }
.timeline-item:nth-child(odd) { right: 50%; }
.timeline-item:nth-child(even)::after { left: -40px; right: auto; }
html[lang="en"] .timeline-item:nth-child(odd) { left: 50%; right: auto; }
html[lang="en"] .timeline-item:nth-child(even) { right: 50%; left: auto; }
html[lang="en"] .timeline-item:nth-child(odd)::after { left: -40px; right: auto; }
html[lang="en"] .timeline-item:nth-child(even)::after { right: -40px; left: auto; }

.video-teaser-section { padding: 120px 0; background-image: url('images/video-preview-bg.jpg'); background-size: cover; background-position: center; position: relative; }
.video-teaser-section::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); }
.video-teaser-section .container { position: relative; z-index: 2; }
.video-teaser-section h2 { color: var(--white); font-size: 48px; }
.play-button { font-size: 40px; color: var(--white); background: var(--green); width: 80px; height: 80px; line-height: 80px; border-radius: 50%; display: inline-block; text-decoration: none; transition: transform 0.3s; }
.play-button:hover { transform: scale(1.1); }

.jury-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.jury-member { text-align: center; }
.jury-member img { width: 150px; height: 150px; border-radius: 50%; object-fit: cover; margin-bottom: 15px; }
.partners-grid { display: flex; justify-content: center; align-items: center; gap: 80px; filter: grayscale(100%); }
.partners-grid img { height: 60px; }
.faq-accordion { max-width: 800px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid #ddd; }
.faq-question { padding: 20px; cursor: pointer; font-weight: 700; position: relative; }
.faq-question::after { content: '+'; position: absolute; left: 20px; transition: transform 0.3s; }
html[lang="en"] .faq-question::after { left: auto; right: 20px; }
.faq-item.active .faq-question::after { transform: rotate(45deg); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out; }
.faq-answer p { padding: 0 20px 20px; margin: 0; }
.faq-item.active .faq-answer { max-height: 200px; }
.final-cta-section { background-color: var(--green); }
.light-text { color: var(--white) !important; }
.register-form { display: flex; flex-wrap: wrap; justify-content: center; gap: 15px; margin-top: 40px; }
.register-form input { padding: 15px 20px; border: none; border-radius: 8px; width: 300px; font-family: inherit; }
.contact-feedback-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; }
.contact-details ul { list-style: none; padding: 0; }
.contact-details li { margin-bottom: 10px; }
.feedback-form, .contact-details { background: var(--light-gray); padding: 40px; border-radius: var(--border-radius); }
.feedback-form input, .feedback-form textarea { width: 100%; padding: 15px; border-radius: 8px; border: 1px solid #ddd; font-family: inherit; margin-bottom: 15px; box-sizing: border-box; }

/* --- Page-specific Styles --- */
.dashboard-page { background-color: var(--light-gray); }
.dashboard-title { font-size: 48px; }
.dashboard-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.dashboard-card { background: var(--white); padding: 25px; border-radius: var(--border-radius); box-shadow: var(--box-shadow); }
.dashboard-card.large-card { grid-column: span 2; }
.dashboard-card h4 { margin-top: 0; }
.dashboard-card img { width: 100%; border-radius: 8px; border: 1px solid #eee; }
.video-page { background-color: #f0f0f0; }
.video-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000; border-radius: var(--border-radius); box-shadow: var(--box-shadow); }
.video-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* --- Footer --- */
.main-footer { background-color: var(--dark-blue); color: #a9b4c2; padding: 20px 0; }
.copyright { text-align: center; }