/* ==================================================================
   Thème LinkStack — Elsa Aubigny
   Palette : #101B2D (fond) / #C4A986 (texte) / #F2EEE7 (contraste)
   ================================================================== */

:root{
  --ea-bg: #101B2D;
  --ea-bg-deep: #0B1522;
  --ea-text: #C4A986;
  --ea-contrast: #F2EEE7;
  --ea-line: rgba(196,169,134,0.22);
  --ea-glow: rgba(196,169,134,0.16);
}

*{ box-sizing: border-box; }

html{ font-size: 100%; }

body{
  font-size: 16px;
  line-height: 1.6;
  font-weight: 300;
  font-family: 'Jost', 'HelveticaNeue', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: var(--ea-text);
  min-height: 100vh;
  position: relative;
  overflow-x: hidden;
  background:
    radial-gradient(ellipse 700px 500px at 50% 0%, var(--ea-glow), transparent 60%),
    linear-gradient(180deg, var(--ea-bg) 0%, var(--ea-bg-deep) 100%);
}

/* grain léger et discret */
body::before{
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: 0.035;
  z-index: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode: overlay;
}

/* halo de lumière qui respire, injecté via extra/custom-body.blade.php */
.ea-halo{
  position: absolute;
  top: 2%;
  left: 50%;
  width: 520px;
  height: 520px;
  transform: translateX(-50%);
  background: radial-gradient(circle, var(--ea-glow) 0%, transparent 65%);
  filter: blur(10px);
  animation: ea-breathe 9s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}
@keyframes ea-breathe{
  0%, 100% { opacity: .55; transform: translateX(-50%) scale(0.94); }
  50%      { opacity: 1;   transform: translateX(-50%) scale(1.05); }
}

/* Grid
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 440px;
  text-align: center;
  margin: 0 auto;
  padding: 52px 24px;
  box-sizing: border-box;
}
.column {
  position: center;
  width: 100%;
  float: center;
  box-sizing: border-box;
}

@media (min-width: 400px) {
  .container { width: 90%; padding: 52px 0; }
}
@media (min-width: 550px) {
  .container { width: 78%; }
  .column, .columns { margin-left: 0; }
  .column:first-child, .columns:first-child { margin-left: 0; }
}

/* Typography
–––––––––––––––––––––––––––––––––––––––––––––––––– */
h1 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 300;
  font-size: clamp(28px, 6vw, 38px);
  line-height: 1.25;
  letter-spacing: 0.01em;
  color: var(--ea-contrast);
  margin: 20px 0 8px; }

p {
  margin-top: 0;
  color: var(--ea-text);
  font-size: 15px;
  line-height: 1.7;
  opacity: 0.92; }

/* Links
–––––––––––––––––––––––––––––––––––––––––––––––––– */
a { color: var(--ea-contrast); text-decoration: none; }
a:hover { color: var(--ea-contrast); }

.spacing { padding: 0 10px; }

/* Code
–––––––––––––––––––––––––––––––––––––––––––––––––– */
code {
  padding: .2rem .5rem;
  margin: 0 .2rem;
  font-size: 90%;
  white-space: nowrap;
  background: rgba(242,238,231,0.04);
  border: 1px solid var(--ea-line);
  border-radius: 4px;
  color: var(--ea-contrast); }
pre > code { display: block; padding: 1rem 1.5rem; white-space: pre; }

/* Spacing
–––––––––––––––––––––––––––––––––––––––––––––––––– */
button, .button { margin-bottom: 14px; }
input, textarea, select, fieldset { margin-bottom: 1.5rem; }
pre, blockquote, dl, figure, p, ol { margin-bottom: 1.6rem; }

/* Utilities
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.u-full-width { width: 100%; box-sizing: border-box; }
.u-max-full-width { max-width: 100%; box-sizing: border-box; }
.u-pull-right { float: right; }
.u-pull-left { float: left; }

/* Misc
–––––––––––––––––––––––––––––––––––––––––––––––––– */
hr {
  margin: 2rem 0;
  border-width: 0;
  border-top: 1px solid var(--ea-line); }

/* Scrollbar */
* { scrollbar-width: thin; scrollbar-color: var(--ea-text) var(--ea-bg-deep); }
*::-webkit-scrollbar { width: 8px; }
*::-webkit-scrollbar-track { background: var(--ea-bg-deep); }
*::-webkit-scrollbar-thumb {
  background-color: var(--ea-text);
  border-radius: 30px;
  border: 3px none #ffffff; }

/* Credit footer
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.credit-txt {
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-decoration: none; }
.credit-txt-clr { color: var(--ea-text) !important; opacity: 0.6; }

@media (prefers-reduced-motion: reduce) {
  .ea-halo { animation: none; }
}
