/* Helpers specific to /fr/* pages. Loaded alongside the page-specific CSS
   (about.css, courses.css, projects.css) so FR layout matches EN polish. */

:root {
  --fr-accent: var(--secondary-color, #64ffda);
  --fr-heading: var(--heading-color, #ccd6f6);
  --fr-text: var(--text-color, #8892b0);
}

/* ============ Scroll-reveal opt-out ============
   FR pages don't load the page-specific JS bundles (projects.js,
   courses.js, about.js) that own the IntersectionObservers toggling
   `.is-visible` / `.active`. Without that JS, every section that starts
   at opacity:0 stays permanently invisible. Force those elements into
   their final visible state so FR content always renders. */
.animate-on-scroll,
.project-category,
.project-item,
.experience-item,
.education-card,
.certification-card,
.course-category,
.intro-section,
.skill-category,
.contact-wrapper {
  opacity: 1 !important;
  transform: none !important;
}

/* Collapsible project panels are expanded by default on FR since
   there's no click handler to toggle them. */
.project-category .projects-panel {
  max-height: none !important;
}

.bio-section,
.languages-section,
.about-cta {
  max-width: 820px;
  margin: 0 auto 40px;
  padding: 0 20px;
}

.bio-section h2,
.languages-section h2 {
  color: var(--fr-heading);
  margin-bottom: 14px;
  font-size: 24px;
}

.bio-section p,
.about-cta p {
  line-height: 1.7;
  margin-bottom: 14px;
}

.lang-list,
.course-list {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
}

.lang-list li,
.course-list li {
  padding: 8px 12px;
  border-left: 3px solid var(--fr-accent);
  margin-bottom: 6px;
  background: rgba(100, 255, 218, 0.04);
}

.about-cta {
  padding: 16px 20px;
  background: rgba(100, 255, 218, 0.06);
  border-radius: 6px;
  text-align: center;
}

.about-cta a {
  color: var(--fr-accent);
  font-weight: 500;
}

/* Language switcher works inside the existing nav; no special FR styling
   needed — .lang-switch rules live in styles.css. */

/* Skip-to-content link (keyboard a11y) */
.skip-link{position:absolute;top:-40px;left:0;background:var(--primary-color,#0a192f);color:#fff;padding:10px 16px;text-decoration:none;font-weight:600;border-radius:0 0 6px 0;z-index:10000;transition:top .2s ease}
.skip-link:focus{top:0;outline:3px solid var(--secondary-color,#64ffda)}
