/* =========================================================================
   Wolfswerk Branding for pretix presale (Bootstrap 3 base)
   Dark / gold white-label theme. Injected via html_head +
   global_html_page_header signals. No external URLs (DSGVO: fonts local).
   ========================================================================= */

/* ---------- Fonts (local, absolute /static/ paths) ---------------------- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/pretix_wolfswerk_branding/fonts/inter-400.da03732a27e1.woff2") format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/pretix_wolfswerk_branding/fonts/inter-500.51205681a1ba.woff2") format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/pretix_wolfswerk_branding/fonts/inter-600.2ede57db1a3a.woff2") format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/pretix_wolfswerk_branding/fonts/inter-700.8ca0a5155296.woff2") format('woff2');
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/pretix_wolfswerk_branding/fonts/inter-tight-600.62121ba6ea27.woff2") format('woff2');
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/pretix_wolfswerk_branding/fonts/inter-tight-700.9e38e0478052.woff2") format('woff2');
}

/* ---------- Design tokens ---------------------------------------------- */
:root {
  --ww-ink: #000000;            /* page background            */
  --ww-ink-soft: #090909;       /* cards / panels             */
  --ww-surface: #121212;        /* inputs / raised areas      */
  --ww-surface-raised: #1b1b1b; /* headers / hover surfaces   */

  --ww-gold: #d9a440;
  --ww-gold-hover: #eebc4a;
  --ww-gold-active: #c17f21;

  --ww-text: #ffffff;
  --ww-text-muted: #c4c4c4;
  --ww-error: #ee343b;
  --ww-hairline: rgba(255, 255, 255, 0.08);
  --ww-text-on-gold: #000000;

  --ww-radius: 0.625rem;

  --ww-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --ww-font-head: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* ---------- Base -------------------------------------------------------- */
html,
body {
  background-color: var(--ww-ink) !important;
  color: var(--ww-text) !important;
  font-family: var(--ww-font-body) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  background-image: none !important;
}

.container,
.container-fluid {
  color: var(--ww-text);
}

p,
li,
dd,
dt,
label,
span,
address,
small,
.text-muted {
  color: var(--ww-text);
}

.text-muted,
.help-block,
.small {
  color: var(--ww-text-muted) !important;
}

hr {
  border-top: 1px solid var(--ww-hairline) !important;
}

/* ---------- Headings ---------------------------------------------------- */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--ww-font-head) !important;
  font-weight: 600 !important;
  color: var(--ww-text) !important;
  letter-spacing: -0.01em;
}

h1, .h1 { font-weight: 700 !important; }

/* ---------- Links ------------------------------------------------------- */
a {
  color: var(--ww-gold);
  text-decoration: none;
}
a:hover,
a:focus {
  color: var(--ww-gold-hover);
  text-decoration: underline;
}
a:active {
  color: var(--ww-gold-active);
}

/* ---------- Panels / cards / wells -------------------------------------- */
.panel,
.panel-default,
.panel-group .panel,
.well,
.list-group,
.thumbnail {
  background-color: var(--ww-ink-soft) !important;
  border: 1px solid var(--ww-hairline) !important;
  border-radius: var(--ww-radius) !important;
  box-shadow: none !important;
  color: var(--ww-text) !important;
}

.panel-body {
  background-color: var(--ww-ink-soft) !important;
  color: var(--ww-text) !important;
  border-radius: var(--ww-radius);
}

.panel-heading,
.panel-default > .panel-heading {
  background-color: var(--ww-surface-raised) !important;
  border-bottom: 1px solid var(--ww-hairline) !important;
  color: var(--ww-text) !important;
  border-top-left-radius: var(--ww-radius) !important;
  border-top-right-radius: var(--ww-radius) !important;
}

.panel-title,
.panel-title > a {
  color: var(--ww-text) !important;
  font-family: var(--ww-font-head) !important;
  font-weight: 600 !important;
}

.panel-footer {
  background-color: var(--ww-surface) !important;
  border-top: 1px solid var(--ww-hairline) !important;
  color: var(--ww-text-muted) !important;
}

.well {
  background-color: var(--ww-surface) !important;
}

/* list-group rows */
.list-group-item {
  background-color: var(--ww-ink-soft) !important;
  border-color: var(--ww-hairline) !important;
  color: var(--ww-text) !important;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  background-color: var(--ww-surface-raised) !important;
  border-color: var(--ww-gold) !important;
  color: var(--ww-gold) !important;
}

/* ---------- Buttons ----------------------------------------------------- */
.btn {
  border-radius: var(--ww-radius) !important;
  font-family: var(--ww-font-body) !important;
  font-weight: 600 !important;
  border-width: 1px !important;
  transition: background-color .12s ease, color .12s ease, border-color .12s ease;
}

.btn-primary,
.btn-primary.active,
button[type="submit"].btn-primary {
  background-color: var(--ww-gold) !important;
  border-color: var(--ww-gold) !important;
  color: var(--ww-text-on-gold) !important;
}
.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--ww-gold-hover) !important;
  border-color: var(--ww-gold-hover) !important;
  color: var(--ww-text-on-gold) !important;
}
.btn-primary:active,
.btn-primary:active:hover,
.btn-primary.active:focus {
  background-color: var(--ww-gold-active) !important;
  border-color: var(--ww-gold-active) !important;
  color: var(--ww-text-on-gold) !important;
}
.btn-primary[disabled],
.btn-primary.disabled {
  background-color: var(--ww-gold-active) !important;
  border-color: var(--ww-gold-active) !important;
  color: var(--ww-text-on-gold) !important;
  opacity: 0.55 !important;
}

.btn-default {
  background-color: var(--ww-surface) !important;
  border-color: var(--ww-hairline) !important;
  color: var(--ww-text) !important;
}
.btn-default:hover,
.btn-default:focus {
  background-color: var(--ww-surface-raised) !important;
  border-color: var(--ww-gold) !important;
  color: var(--ww-gold) !important;
}
.btn-default:active,
.btn-default.active {
  background-color: var(--ww-surface-raised) !important;
  border-color: var(--ww-gold-active) !important;
  color: var(--ww-gold-active) !important;
}
.btn-default[disabled],
.btn-default.disabled {
  background-color: var(--ww-surface) !important;
  border-color: var(--ww-hairline) !important;
  color: var(--ww-text-muted) !important;
  opacity: 0.55 !important;
}

.btn-link {
  color: var(--ww-gold) !important;
}
.btn-link:hover,
.btn-link:focus {
  color: var(--ww-gold-hover) !important;
}

.btn-success {
  background-color: var(--ww-gold) !important;
  border-color: var(--ww-gold) !important;
  color: var(--ww-text-on-gold) !important;
}
.btn-success:hover,
.btn-success:focus {
  background-color: var(--ww-gold-hover) !important;
  border-color: var(--ww-gold-hover) !important;
  color: var(--ww-text-on-gold) !important;
}

/* ---------- Forms ------------------------------------------------------- */
.form-control,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="url"],
input[type="date"],
select,
textarea,
.select2-container .select2-choice,
.select2-container--default .select2-selection {
  background-color: var(--ww-surface) !important;
  border: 1px solid var(--ww-hairline) !important;
  border-radius: var(--ww-radius) !important;
  color: var(--ww-text) !important;
  box-shadow: none !important;
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
  color: var(--ww-text-muted) !important;
  opacity: 1;
}

.form-control:focus,
input:focus,
select:focus,
textarea:focus,
.select2-container--default.select2-container--focus .select2-selection {
  border-color: var(--ww-gold) !important;
  box-shadow: 0 0 0 3px rgba(217, 164, 64, 0.25) !important;
  outline: none !important;
  color: var(--ww-text) !important;
}

.form-control[disabled],
.form-control[readonly],
input[disabled],
select[disabled],
textarea[disabled] {
  background-color: var(--ww-ink-soft) !important;
  color: var(--ww-text-muted) !important;
  border-color: var(--ww-hairline) !important;
  opacity: 0.7 !important;
  cursor: not-allowed;
}

/* dropdown option lists */
select option {
  background-color: var(--ww-surface) !important;
  color: var(--ww-text) !important;
}

.dropdown-menu {
  background-color: var(--ww-surface-raised) !important;
  border: 1px solid var(--ww-hairline) !important;
  border-radius: var(--ww-radius) !important;
}
.dropdown-menu > li > a {
  color: var(--ww-text) !important;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  background-color: var(--ww-surface) !important;
  color: var(--ww-gold) !important;
}

label,
.control-label {
  color: var(--ww-text) !important;
  font-weight: 500 !important;
}

/* validation / error states */
.has-error .form-control,
.has-error input,
.has-error select,
.has-error textarea {
  border-color: var(--ww-error) !important;
  box-shadow: none !important;
}
.has-error .form-control:focus {
  border-color: var(--ww-error) !important;
  box-shadow: 0 0 0 3px rgba(238, 52, 59, 0.25) !important;
}
.has-error .control-label,
.has-error .help-block,
.text-danger {
  color: var(--ww-error) !important;
}

.input-group-addon {
  background-color: var(--ww-surface-raised) !important;
  border: 1px solid var(--ww-hairline) !important;
  color: var(--ww-text-muted) !important;
}

/* checkbox / radio accent */
input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--ww-gold);
}

/* ---------- Navbar / header -------------------------------------------- */
.navbar,
.navbar-default,
header,
.page-header {
  background-color: var(--ww-ink) !important;
  border-color: var(--ww-hairline) !important;
  color: var(--ww-text) !important;
}
.page-header {
  border-bottom: 1px solid var(--ww-hairline) !important;
}
.navbar-default .navbar-nav > li > a {
  color: var(--ww-text) !important;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > .active > a {
  color: var(--ww-gold) !important;
  background-color: transparent !important;
}
.navbar-brand {
  color: var(--ww-text) !important;
}

/* presale event header (logo / title band) */
.event-header,
.presale-event-header,
#page-wrapper > .container > .event {
  background-color: var(--ww-ink) !important;
  color: var(--ww-text) !important;
}

/* ---------- Checkout progress / steps ---------------------------------- */
.checkout-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  border-top: 1px solid var(--ww-hairline);
  padding-top: 1rem;
  margin-top: 1rem;
}

/* pretix step navigation ("progress" breadcrumb of the checkout) */
.progress {
  background-color: var(--ww-surface) !important;
  border-radius: var(--ww-radius) !important;
}
.progress-bar {
  background-color: var(--ww-gold) !important;
  color: var(--ww-text-on-gold) !important;
}

/* step indicator lists used by pretix checkout flow */
.checkout-flow,
.checkout-flow-tabs,
ol.progress,
.steps {
  color: var(--ww-text-muted) !important;
}
.checkout-flow .checkout-flow-step,
.steps .step {
  color: var(--ww-text-muted) !important;
}
.checkout-flow .checkout-flow-step.active,
.checkout-flow .checkout-flow-step.current,
.steps .step.active {
  color: var(--ww-gold) !important;
  font-weight: 600 !important;
}
.checkout-flow .checkout-flow-step.done,
.steps .step.completed {
  color: var(--ww-text) !important;
}

/* ---------- Tables ------------------------------------------------------ */
.table,
table {
  color: var(--ww-text) !important;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  border-color: var(--ww-hairline) !important;
}
.table > thead > tr > th {
  border-bottom: 2px solid var(--ww-hairline) !important;
  color: var(--ww-text) !important;
  font-family: var(--ww-font-head) !important;
  font-weight: 600 !important;
}
.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: var(--ww-ink-soft) !important;
}
.table-hover > tbody > tr:hover {
  background-color: var(--ww-surface) !important;
}

/* ---------- Alerts ------------------------------------------------------ */
.alert {
  border-radius: var(--ww-radius) !important;
  border: 1px solid var(--ww-hairline) !important;
}
.alert-info {
  background-color: var(--ww-surface) !important;
  color: var(--ww-text) !important;
}
.alert-success {
  background-color: var(--ww-surface) !important;
  border-color: var(--ww-gold) !important;
  color: var(--ww-gold) !important;
}
.alert-danger,
.alert-warning {
  background-color: rgba(238, 52, 59, 0.12) !important;
  border-color: var(--ww-error) !important;
  color: var(--ww-error) !important;
}

/* ---------- Badges / labels -------------------------------------------- */
.badge,
.label {
  background-color: var(--ww-gold) !important;
  color: var(--ww-text-on-gold) !important;
}
.label-default {
  background-color: var(--ww-surface-raised) !important;
  color: var(--ww-text) !important;
}

/* ---------- Footer + WHITE-LABEL (hide "powered by pretix") ------------- */
.footer,
footer {
  background-color: var(--ww-ink) !important;
  color: var(--ww-text-muted) !important;
  border-top: 1px solid var(--ww-hairline) !important;
}
.footer a,
footer a {
  color: var(--ww-text-muted) !important;
}
.footer a:hover,
footer a:hover {
  color: var(--ww-gold) !important;
}

/* Hide only the pretix credit / "ticketing powered by pretix" links.
   Legally required imprint / privacy links are NOT targeted. */
#pretix-footer,
.pretix-footer,
.powered-by-pretix,
.footer .pull-right a[href*="pretix"],
.footer a[href*="pretix.eu"],
footer a[href*="pretix.eu"],
footer a[href*="pretix.com"],
footer a[href*="marketplace.pretix"],
a[href*="pretix.eu"][rel="external"] {
  display: none !important;
}

/* ---------- Misc contrast fixes ---------------------------------------- */
code, pre, kbd {
  background-color: var(--ww-surface) !important;
  color: var(--ww-gold-hover) !important;
  border: 1px solid var(--ww-hairline) !important;
}
blockquote {
  border-left-color: var(--ww-gold) !important;
  color: var(--ww-text-muted) !important;
}

/* ---------- Responsive tweaks ------------------------------------------ */
@media (max-width: 767px) {
  .checkout-button-row {
    flex-direction: column-reverse;
  }
  .checkout-button-row .btn {
    width: 100%;
  }
}

/* ===== Wolfswerk Hardening (v1.1): volle schwarze Fläche + Logo + Item-Text ===== */
html, body { background:#000 !important; min-height:100vh !important; }
#page-wrapper, main, [role="main"], .page, section, .content, #content,
header, .navbar, .navbar-default, footer, .footer, .container, .container-fluid,
.event-list, .front-page { background-color: transparent !important; }
footer, .footer, #pretix-footer, .pretix-footer { background:#000 !important; color: var(--ww-text-muted) !important; border-top:1px solid var(--ww-hairline) !important; }
/* Produkt/Item-Texte sichtbar (weiß/gedämpft) */
.product-row, .items .item, .item strong, .item-name, .itemname,
.availability-box, .price, .pricebox, .productdescription, .item .description,
.panel .item, .cart .cart-row, dl, dt, dd, table, td, th { color: var(--ww-text) !important; }
.text-muted, small, .help-block { color: var(--ww-text-muted) !important; }

/* Header-Logo: Wolf-Marke vor dem Event-Titel */
.event-header, .front-page > h2:first-child, .front-page h1 { position: relative; }
body::before {
  content: "";
  display: block;
  height: 72px;
  margin: 24px auto 8px;
  background: url("/static/pretix_wolfswerk_branding/img/wolf-gold.25994ab6c99f.png") center/contain no-repeat;
}

/* ===== Checkout-Fortschritt: lila -> gold (v1.2) ===== */
.checkout-flow .checkout-step-icon {
  background: var(--ww-surface-raised) !important;
  color: var(--ww-text-muted) !important;
  border: 2px solid var(--ww-hairline) !important;
}
.checkout-flow .checkout-step.step-done .checkout-step-icon,
.checkout-flow .checkout-step.step-current .checkout-step-icon {
  background: var(--ww-gold) !important;
  color: #000 !important;
  border-color: var(--ww-gold) !important;
}
.checkout-flow .checkout-step-label { color: var(--ww-text-muted) !important; }
.checkout-flow .checkout-step.step-current .checkout-step-label,
.checkout-flow .checkout-step.step-done .checkout-step-label { color: var(--ww-text) !important; }
/* Verbindungslinie */
.checkout-flow .checkout-step::before,
.checkout-flow .checkout-step::after,
.checkout-flow::before { background-color: var(--ww-hairline) !important; border-color: var(--ww-hairline) !important; }
.checkout-flow .checkout-step.step-done::before,
.checkout-flow .checkout-step.step-done::after { background-color: var(--ww-gold) !important; border-color: var(--ww-gold) !important; }

/* White-Label: pretix-Attribution ausblenden */
a[href*="pretix.eu"],a[href*="url=https%3A//pretix"],.pretix-widget-attribution{display:none !important}

/* Sprachumschalter (Deutsch/English) auf Gold statt pretix-Lila */
nav.locales a,.locales a{color:var(--ww-gold) !important;text-decoration:none}
.locales a.active,.locales a[aria-current]{color:var(--ww-gold) !important;font-weight:600}

/* Lade-Overlay (Warenkorb/Navigation): weiss+lila -> dunkel+gold */
.modal-card{background:#0d0d10 !important;color:#e8e8ea !important;border:1px solid rgba(217,164,64,.3) !important}
.modal-card .modal-card-icon{background:transparent !important;color:var(--ww-gold) !important}
.modal-card .big-icon,.modal-card .modal-card-icon .big-icon{color:var(--ww-gold) !important}
#loadingmodal-title,#loadingmodal-description,.modal-card-title,.modal-card-description{color:#e8e8ea !important}

/* Zahnrad direkt (fa-cog: color UND fill, falls SVG) -> Gold */
.modal-card .modal-card-icon,.modal-card .fa,.modal-card .fa-cog,.modal-card .rotating,.modal-card svg{color:#eebc4a !important;fill:#eebc4a !important}
