/* Секция „3D файлове“ (files.html и files/<slug>.html). Ползва и style.css + shop.css. */
.files-why {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6em 1.6em;
  margin: 1.2em 0 0;
  padding: 0;
  list-style: none;
  font-weight: 600;
}
.files-why li::before { content: "✓ "; color: var(--ok); }

.file-badges {
  display: inline-block;
  margin: 0 0 1em;
  padding: 0.35em 0.8em;
  font-size: 0.9em;
  font-weight: 600;
  color: var(--accent);
  background: var(--bg);
  border-radius: 6px;
}
#buyForm { margin: 1.4em 0 0.5em; }
.file-consent {
  display: flex;
  gap: 0.6em;
  align-items: flex-start;
  font-weight: 400;
  font-size: 0.92em;
  line-height: 1.45;
}
.file-consent input { flex: none; width: 1.15em; height: 1.15em; margin: 0.15em 0 0; }
.file-consent.invalid { color: var(--error); }
#buyBtn { width: 100%; margin-top: 0.3em; }
#buyBtn:disabled { opacity: 0.6; cursor: wait; }

.file-done {
  margin: 1.4em 0 0.5em;
  padding: 1.2em;
  border: 2px solid var(--ok);
  border-radius: 8px;
  background: var(--surface);
}
.file-done h2 { margin: 0 0 0.4em; font-size: 1.3em; color: var(--ok); }
.file-done p { margin: 0 0 0.8em; }
.file-done form { margin: 0 0 0.8em; }
.file-done .btn { width: 100%; }
.file-done.wait { border-color: var(--line); }
.file-done.wait h2 { color: var(--ink); }
.file-done.fail { border-color: var(--error); }
.file-done.fail h2 { color: var(--error); }

.file-h2 { margin: 1.6em 0 0; font-size: 1.2em; }
.file-h2 + .details { margin-top: 0.5em; }
.file-printed { margin-top: 1em; font-weight: 600; }

/* Известие най-горе след плащане („Покупката е успешна!“) – files.js */
.file-toast {
  position: fixed;
  z-index: 1000;
  top: 84px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 0.9em;
  align-items: flex-start;
  width: min(92vw, 30em);
  padding: 1em 1.1em;
  background: var(--surface);
  border-left: 6px solid var(--ok);
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(22, 32, 43, 0.22);
  animation: file-toast-in 0.35s ease-out;
}
.file-toast[hidden] { display: none; }
.file-toast.wait { border-left-color: var(--accent); }
.file-toast.fail { border-left-color: var(--error); }
.file-toast-icon {
  flex: none;
  display: grid;
  place-items: center;
  width: 2em;
  height: 2em;
  font-weight: 700;
  color: #fff;
  background: var(--ok);
  border-radius: 50%;
}
.file-toast.wait .file-toast-icon { background: var(--accent); }
.file-toast.fail .file-toast-icon { background: var(--error); }
.file-toast-body { flex: 1; min-width: 0; }
.file-toast-body strong { display: block; font-size: 1.1em; }
.file-toast-body p { margin: 0.2em 0 0.7em; font-size: 0.92em; color: var(--muted); }
.file-toast-body form { margin: 0; }
.file-toast-body .btn { width: 100%; }
.file-toast-close {
  flex: none;
  padding: 0 0.2em;
  font-size: 1.6em;
  line-height: 1;
  color: var(--muted);
  background: none;
  border: 0;
  cursor: pointer;
}
@keyframes file-toast-in {
  from { opacity: 0; transform: translate(-50%, -12px); }
  to { opacity: 1; transform: translate(-50%, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .file-toast { animation: none; }
}
