/* ============================================
   IRIS Festival – Base Styles
   ============================================ */

@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=Inter:wght@300;400;500;600;700&display=swap");

/* ===== CSS RESET ===== */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --c-deep: #1a001f;
  --c-purple: #4a0a5a;
  --c-purple-dark: #2d0036;
  --c-accent: #e91e8c;
  --c-gold: #d4af37;
  --c-gold-light: #f4d03f;
  --c-pink: #ff1493;
  --c-orange: #ff6b35;
  --c-white: #ffffff;
  --c-light: #f8f8f8;

  --shadow-sm: 0 2px 8px rgba(212, 175, 55, 0.15);
  --shadow-md: 0 4px 16px rgba(212, 175, 55, 0.2);
  --shadow-lg: 0 8px 32px rgba(212, 175, 55, 0.25);
  --shadow-glow: 0 0 40px rgba(212, 175, 55, 0.4);

  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;

  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 24px;

  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;
}

html {
  scroll-behavior: smooth;
  /* scroll-padding-top auf 70px reduziert um mit fixed Header Höhe zu matchen */
  scroll-padding-top: 70px;
}

body {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(16px, 1vw, 18px);
  line-height: 1.6;
  color: var(--c-white);
  background: linear-gradient(135deg, #0d0015 0%, var(--c-purple-dark) 50%, #1a001f 100%);
  min-height: 100vh;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* Prevent an initial blinking text caret on the index page caused by accidental focus
   (e.g. browser restore / ServiceWorker updates). Inputs keep their normal caret. */
body { caret-color: transparent; }
input, textarea, [contenteditable="true"] { caret-color: auto; }
body:focus { outline: none; }

body.modal-open {
  overflow: hidden;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all var(--transition-base);
}

button {
  font-family: inherit;
  border: none;
  background: none;
  cursor: pointer;
}

.skip,
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(1rem, 4vw, 2rem);
}


/* CSP Fixes: ersetzt Inline-Styles (kein unsafe-inline) */
.hp-field{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}
.mono{font-family:monospace;font-size:0.9rem;}
.admin-h1{font-size:32px;margin:0;}
.display-inline{display:inline;}
.is-hidden{display:none !important;}
.error-card{background:rgba(211,47,47,0.1);border:1px solid rgba(211,47,47,0.6);border-radius:12px;margin:1rem 0;}
.error-card__inner{padding:0.75rem;color:rgba(255,255,255,0.9);}

/* Utilities */
.u-mt-0{margin-top:0 !important;}
.u-mt-6{margin-top:6px !important;}
.u-mt-10{margin-top:10px !important;}
.u-mt-12{margin-top:12px !important;}
.u-mt-14{margin-top:14px !important;}
.u-mt-18{margin-top:18px !important;}
.u-flex{display:flex !important;}
.u-wrap{flex-wrap:wrap !important;}
.u-gap-10{gap:10px !important;}

a,a:hover,a:focus,a:active,a:visited{text-decoration:none!important}a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
