/*
Theme Name: Cercle 127
Theme URI: https://onirologue.shop/
Author: L'Onirologue
Description: Socle visuel, accessible et applicatif du projet 127.
Version: 4.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: cercle-127
*/

:root {
  --c127-night: #080712;
  --c127-surface: #121022;
  --c127-surface-raised: #19162b;
  --c127-ink: #f5f0e6;
  --c127-muted: #c6bed1;
  --c127-gold: #d8b66b;
  --c127-line: rgba(216, 182, 107, .28);
  --c127-radius: 1.25rem;
  --c127-content: 74rem;
  --c127-serif: "Cormorant Garamond", Georgia, serif;
  --c127-sans: Manrope, system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--c127-ink);
  background:
    radial-gradient(circle at 50% -10%, rgba(81, 61, 129, .28), transparent 42rem),
    var(--c127-night);
  font-family: var(--c127-sans);
  line-height: 1.65;
}
a { color: inherit; text-underline-offset: .2em; }
img { max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
:focus-visible { outline: 3px solid var(--c127-gold); outline-offset: 3px; }
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus { position: fixed !important; width: auto; height: auto; top: 1rem; left: 1rem; padding: .75rem 1rem; clip: auto; background: #fff; color: #111; z-index: 100000; }
.c127-shell { width: min(calc(100% - 2rem), var(--c127-content)); margin-inline: auto; }
.c127-site-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid var(--c127-line); background: rgba(8, 7, 18, .9); backdrop-filter: blur(16px); }
.c127-header-inner { min-height: 4.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.c127-brand { font-family: var(--c127-serif); font-size: clamp(1.35rem, 4vw, 2rem); font-weight: 600; text-decoration: none; }
.c127-nav ul { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1rem; margin: 0; padding: 0; list-style: none; }
.c127-nav a { display: block; padding: .65rem .25rem; text-decoration: none; }
.c127-main { min-height: 70vh; padding-block: clamp(2rem, 6vw, 5rem); }
.c127-entry { width: min(100%, 52rem); margin-inline: auto; }
.c127-entry-title { margin: 0 0 1.5rem; font: 600 clamp(2.4rem, 7vw, 5rem)/.98 var(--c127-serif); }
.c127-card { border: 1px solid var(--c127-line); border-radius: var(--c127-radius); background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018)); box-shadow: 0 1.5rem 4rem rgba(0,0,0,.2); }
.c127-site-footer { border-top: 1px solid var(--c127-line); padding-block: 2rem 6rem; color: var(--c127-muted); }

@media (max-width: 760px) {
  .c127-header-inner { min-height: 4rem; }
  .c127-nav { display: none; }
  .c127-main { padding-bottom: 7rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
