/* Charte Nykteo, chargée après la feuille du thème */

@font-face{font-family:"Hack";src:url("/fonts/Hack-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Hack";src:url("/fonts/Hack-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("/fonts/Inter-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("/fonts/Inter-Italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Inter";src:url("/fonts/Inter-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("/fonts/Inter-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root {
  --nk-primary: #3A003A;
  --nk-primary-deep: #240629;
  --nk-primary-soft: #F1E8F1;
  --nk-accent: #5EEAD4;          /* menthe : fond sombre uniquement */
  --nk-accent-on-light: #0F766E; /* sarcelle : liens et accents sur blanc */
  --nk-ink: #1B1B1F;
  --nk-muted: #5B5B66;
  --nk-line: #E2DCE6;
  --nk-paper: #FAF8FB;

  --font-body: "Inter", Arial, sans-serif;
  --font-heading: "Hack", Consolas, "Courier New", monospace;
  --font-brand: "Hack", Consolas, "Courier New", monospace;

  --nk-accent-current: var(--nk-accent-on-light);
}

/* Mode clair */
html:not(.dark) {
  --color-bg: #FFFFFF;
  --color-bg-secondary: var(--nk-paper);
  --color-bg-tertiary: var(--nk-primary-soft);
  --color-text-primary: var(--nk-ink);
  --color-text-secondary: var(--nk-muted);
  --color-text-muted: var(--nk-muted);
  --color-border: var(--nk-line);
  --color-border-secondary: var(--nk-line);
}

html.dark {
  --color-bg: #1A0420;
  --color-bg-secondary: var(--nk-primary-deep);
  --color-bg-tertiary: #34103B;
  --color-text-primary: #FFFEFF;
  --color-text-secondary: #E6DCE8;
  --color-text-muted: #CDBFD0;
  --color-border: #4A2A50;
  --nk-accent-current: var(--nk-accent);
}

body { font-family: var(--font-body); }

/* Titres */
.font-heading, h1, h2, h3 { font-family: var(--font-heading) !important; letter-spacing: 0; }

/* Focus */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--nk-accent-current);
  outline-offset: 2px;
}

/* ---------- En-tête ---------- */
.site-logo img { height: 2.25rem; width: auto; }

/* ---------- Hero ---------- */
.hero-section,
.gradient-bg {
  background-color: var(--nk-primary) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cpath d='M48 0H0v48' fill='none' stroke='%235EEAD4' stroke-opacity='0.07' stroke-width='1'/%3E%3C/svg%3E") !important;
  background-size: 48px 48px !important;
  background-position: 0 0 !important;
}

.hero-section h1.hero-name {
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
}
.hero-name {
  background: none !important;
  -webkit-text-fill-color: #FFFFFF !important;
  color: #FFFFFF !important;
  font-size: clamp(2.25rem, 7vw, 4.5rem) !important;
  line-height: 1.1;
}

.hero-section h2,
.hero-text-accent { color: var(--nk-accent) !important; font-family: var(--font-brand) !important; font-weight: 400 !important; }

.hero-text-muted { color: #FFFFFF !important; }
.hero-section p { background: rgba(36, 6, 41, 0.6) !important; backdrop-filter: none !important; }

#home p strong {
  background: none !important;
  color: var(--nk-accent) !important;
  padding: 0 !important;
  font-weight: 600;
}

/* Boutons du hero */
html .hero-section a.hero-button,
html.dark .hero-section a.hero-button { background: #FFFFFF !important; color: var(--nk-primary) !important; }
html .hero-section a.hero-button:hover { filter: none; background: var(--nk-accent) !important; }

/* ---------- Aplats ---------- */
.bg-gradient-primary,
.bg-gradient-primary-light { background: var(--nk-primary) !important; color: #FFFFFF; }
.bg-gradient-primary-lighter { background: var(--nk-primary-soft) !important; }
.bg-gradient-third,
.bg-gradient-third-lighter { background: var(--nk-muted) !important; }

.bg-gradient-to-br,
.dark .company-card,
.dark .contact-card,
.dark .achievements-card {
  background-image: none !important;
}
.bg-gradient-to-br { background-color: var(--color-bg-secondary) !important; }
.dark .company-card,
.dark .contact-card,
.dark .achievements-card { background-color: var(--color-bg-tertiary) !important; }

.timeline-line { background: var(--nk-line) !important; }
.dark .timeline-line { background: #4A2A50 !important; }
.timeline-bullet { background-color: var(--nk-accent-current) !important; }

.company-link::after,
.company-card::before,
.contact-card::before { background: var(--nk-accent-current) !important; }

.quick-fact-card::before { display: none; }

/* Navigation */
.nav-link::after { background-color: var(--nk-accent-current) !important; }
.nav-link:hover { color: var(--nk-accent-current) !important; }

/* ---------- Icônes ---------- */
#skills .skill-card i,
#about .fas,
#technical .tech-skill-card i.fas,
#contact .contact-info-icon { color: var(--nk-primary) !important; }

.dark #skills .skill-card i,
.dark #about .fas,
.dark #technical .tech-skill-card i.fas,
.dark #contact .contact-info-icon { color: var(--nk-accent) !important; }

#about .bg-gradient-primary .fab,
#about .bg-gradient-primary .fas,
#about button .fas { color: #FFFFFF !important; }

/* Liens */
main p a, main li a { color: var(--nk-accent-current); text-decoration: underline; text-underline-offset: 2px; }

.bg-gradient-primary-lighter .text-primary-dark { color: var(--nk-primary) !important; }
.about-details .cc-md li::marker { color: var(--nk-accent-current); }

/* Pied de page */
footer { background-color: var(--color-bg-secondary) !important; }

/* Formulaire */
.bg-second { background-color: var(--nk-accent-on-light) !important; }

.prose a { color: var(--nk-accent-current) !important; }

/* Mode sombre */
.dark .text-second,
.dark .text-second-light,
.dark .text-third,
.dark .text-third-light { color: var(--nk-accent) !important; }

/* Bio du hero */
.hero-description > p:first-child strong { color: var(--nk-accent) !important; }
#home .hero-description p:not(:first-child) strong,
#home .hero-description li strong { color: #FFFFFF !important; font-weight: 700; }
.hero-description ul { list-style: none; padding-left: 0; display: inline-block; text-align: left; }
.hero-description li { position: relative; padding-left: 1.1em; }
.hero-description li::before { content: "▸"; position: absolute; left: 0; color: var(--nk-accent); }
.quick-fact-card .cc-md ul { padding-left: 1.1em; }
.quick-fact-card .cc-md li::marker,
.bg-gradient-primary-lighter .cc-md li::marker { color: var(--nk-accent-current); }

/* Réalisations clés */
.about-achievements .achievement-item { border-left: 3px solid var(--nk-accent-current); padding-left: 1rem; }
.about-achievements .achievement-highlight { color: var(--nk-accent-current) !important; }
.about-achievements .achievement-group-title i { color: var(--nk-primary) !important; }
.dark .about-achievements .achievement-group-title i { color: var(--nk-accent) !important; }
.about-achievements .cc-md strong { color: var(--color-text-primary); }

#experience .achievements-card strong { color: var(--color-text-primary); font-weight: 600; }

/* Pages de contenu */
.cc-page-header {
  background-color: var(--nk-primary) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cpath d='M48 0H0v48' fill='none' stroke='%235EEAD4' stroke-opacity='0.07' stroke-width='1'/%3E%3C/svg%3E");
  background-size: 48px 48px;
}
.cc-page-header__kicker { color: var(--nk-accent) !important; opacity: 1 !important; }
.cc-prose a, .cc-back-link { color: var(--nk-accent-current) !important; }
.cc-prose li::marker { color: var(--nk-accent-current); }
.cc-prose blockquote, .cc-post-card { border-left-color: var(--nk-accent-current) !important; }
.cc-post-card:focus-within { outline-color: var(--nk-accent-current); }
