html,
body,
#__next,
.mantine-Stack-root,
.mantine-10guctv {
  background: transparent !important;
  min-height: 100vh !important;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  background:
    linear-gradient(120deg, rgba(0,0,0,.78), rgba(0,0,0,.58), rgba(0,0,0,.84)),
    url("/tmt-theme/fond-tmt.png") center center / cover no-repeat fixed;
  z-index: -10;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 20%, rgba(240,190,80,.22), transparent 28%),
    radial-gradient(circle at 75% 70%, rgba(240,190,80,.14), transparent 25%),
    radial-gradient(circle, rgba(255,220,130,.65) 0 1px, transparent 2px);
  background-size: auto, auto, 130px 130px;
  opacity: .28;
  animation: tmtSparkle 22s linear infinite;
  z-index: -9;
}

@keyframes tmtSparkle {
  from { background-position: 0 0, 0 0, 0 0; }
  to { background-position: 0 0, 0 0, 280px 420px; }
}

header,
.mantine-Header-root {
  background: rgba(8,8,8,.82) !important;
  backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(217,166,62,.35) !important;
  box-shadow: 0 10px 35px rgba(0,0,0,.55) !important;
}

footer,
.mantine-Footer-root {
  display: none !important;
}

.mantine-Container-root {
  background: transparent !important;
}

.mantine-Dropzone-root {
  background: rgba(10,10,10,.76) !important;
  border: 1px solid rgba(217,166,62,.48) !important;
  border-radius: 24px !important;
  min-height: 230px !important;
  backdrop-filter: blur(18px) !important;
  box-shadow:
    0 30px 90px rgba(0,0,0,.65),
    inset 0 0 0 1px rgba(255,255,255,.05) !important;
}

.mantine-Dropzone-root:hover {
  border-color: rgba(255,215,120,.95) !important;
  box-shadow:
    0 0 45px rgba(217,166,62,.38),
    0 30px 90px rgba(0,0,0,.75) !important;
  transform: translateY(-2px);
}

.mantine-Dropzone-root svg {
  color: #e8b64d !important;
  filter: drop-shadow(0 0 14px rgba(232,182,77,.5));
}

.mantine-Text-root,
.mantine-Anchor-root,
p,
span,
div {
  color: rgba(255,255,255,.88) !important;
}

.mantine-Dropzone-root .mantine-Text-root:first-of-type {
  color: #fff !important;
  font-size: 1.35rem !important;
  font-weight: 800 !important;
}

button,
.mantine-Button-root,
a.mantine-124cxhb {
  border-radius: 14px !important;
  font-weight: 800 !important;
  transition: all .2s ease !important;
}

.mantine-Button-root,
a.mantine-124cxhb:hover,
a.mantine-124cxhb[aria-current="page"] {
  background: linear-gradient(135deg, #b98222, #f3cf75) !important;
  color: #111 !important;
  border: 1px solid rgba(255,225,140,.75) !important;
  box-shadow: 0 10px 28px rgba(217,166,62,.22) !important;
}

.mantine-Button-root:hover,
a.mantine-124cxhb:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: 0 0 32px rgba(243,207,117,.48) !important;
}

button:disabled {
  opacity: .45 !important;
}

img[src="/img/logo.png"] {
  border-radius: 8px !important;
  filter: drop-shadow(0 0 14px rgba(232,182,77,.5));
}

.mantine-d9zk78 {
  margin-top: 2.4rem !important;
}

.mantine-ej0vyv {
  margin-bottom: 2rem !important;
}

@media (max-width: 768px) {
  body::before {
    background-attachment: scroll;
  }

  .mantine-Dropzone-root {
    min-height: 200px !important;
    border-radius: 18px !important;
  }
}
/* Menu actif / liens header */
header a,
.mantine-Header-root a {
  color: #f5f1e8 !important;
}

header a[href="/upload"],
.mantine-Header-root a[href="/upload"] {
  background: linear-gradient(135deg, #b98222, #f3cf75) !important;
  color: #111 !important;
  border: 1px solid rgba(255,225,140,.8) !important;
  box-shadow: 0 0 22px rgba(243,207,117,.35) !important;
}

header a:hover,
.mantine-Header-root a:hover {
  background: rgba(217,166,62,.18) !important;
  color: #f3cf75 !important;
}
