/* ================================================================
   ECUBE error-page theme (Obsidian). Loaded as an EXTERNAL stylesheet
   by templates/error.html (core override) because the control/presale
   CSP blocks inline <style> (style-src 'self') — inline styling was
   silently dropped, leaving stock-pretix error pages. Brands every page
   that extends error.html: 403/400/400_hostname/csrffail/presale offline.
   Fonts are self-hosted here (font-src 'self'); relative url() is
   rewritten by collectstatic, same as control-theme.css.
   ================================================================ */
@font-face{font-family:'Bebas Neue';font-style:normal;font-weight:400;font-display:swap;src:url("fonts/bebasneue.1a662f8f0b09.woff2") format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:300 700;font-display:swap;src:url("fonts/outfit.98ccc2b7f189.woff2") format('woff2')}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
    --bg:#0a0b0d;--surface:#131418;--line:#23262c;--line2:#2c3037;
    --red:#ED1C24;--ink:#f3f4f6;--muted:#8a9099;--faint:#5c626b;
    --fd:'Bebas Neue',-apple-system,'Segoe UI',sans-serif;
    --fb:'Outfit',-apple-system,'Segoe UI',system-ui,sans-serif;
}
html,body{height:100%}
body{
    background:
        radial-gradient(1100px 480px at -5% -10%, rgba(237,28,36,.06), transparent 60%),
        radial-gradient(900px 520px at 105% 0%, rgba(120,140,180,.05), transparent 55%),
        repeating-linear-gradient(0deg, rgba(255,255,255,.012) 0 1px, transparent 1px 56px),
        repeating-linear-gradient(90deg, rgba(255,255,255,.012) 0 1px, transparent 1px 56px),
        var(--bg);
    color:var(--ink);font-family:var(--fb);font-weight:300;-webkit-font-smoothing:antialiased;
    min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;padding:48px 24px;overflow-x:hidden;
}
.ec-err-brand{font-family:var(--fd);font-size:18px;letter-spacing:.42em;text-indent:.42em;color:var(--muted);margin-bottom:30px;text-transform:uppercase}
.ec-err-brand b{color:var(--red);font-weight:400}
.container{position:relative;z-index:1;max-width:560px;width:100%}
/* the contextual FA icon (no FontAwesome on this page) -> render as a quiet red signal diamond */
.big-icon{display:block;font-size:0;line-height:0;color:transparent;margin:0 auto 22px;width:18px;height:18px;transform:rotate(45deg);border:1.5px solid var(--red);box-shadow:0 0 18px rgba(237,28,36,.35)}
.error-details{display:flex;flex-direction:column;align-items:center}
.error-details h1{font-family:var(--fd);font-weight:400;font-size:clamp(48px,10vw,86px);line-height:.92;letter-spacing:.5px;color:#fff;text-transform:uppercase;margin:0 0 4px}
.error-details>p{font-family:var(--fb);font-size:15px;line-height:1.6;color:var(--muted);max-width:42ch;margin:8px 0 0}
.error-details>p:empty{display:none}
.links{margin-top:30px!important;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.links a{font-family:var(--fb);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);text-decoration:none;border:1px solid var(--line2);border-radius:10px;padding:11px 20px;transition:border-color .15s,background-color .15s,color .15s}
.links a:hover{border-color:var(--red);background:rgba(237,28,36,.08);color:#fff}
/* hide the pretix logo image; brand comes from the wordmark */
.logo{display:none!important}
/* staff sudo escalation form (403) */
form{margin-top:24px}
form p{color:var(--faint);font-size:13px;margin-bottom:10px}
button,input[type=submit],.btn{font-family:var(--fb);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:var(--red);color:#fff;border:0;border-radius:10px;padding:11px 22px;cursor:pointer}
button:hover,input[type=submit]:hover,.btn:hover{background:#d4171e}
input[type=text],input[type=email],input[type=password]{background:#101216;border:1px solid var(--line2);border-radius:10px;color:var(--ink);padding:10px 12px;font:inherit;font-size:14px;margin:4px 0}
a{color:var(--red)}
