:root {
  --brand-coral: #f37c6c;
  --brand-coral-strong: #df6656;
  --brand-coral-soft: #ffe8e2;
  --brand-mint: #a9dab0;
  --brand-mint-strong: #84be90;
  --bg-top-peach: #fde7dc;
  --bg-bottom-mint: #d9f2e5;
  --bg-soft-beige: #fff9f4;
  --surface-linen-white: #faf2eb;
  --highlight-sage: #bccdb3;
  --accent-muted-lavender: #d8c8e0;
  --text-charcoal: #3a3a3a;
  --text-stone: #7b7b7b;
  --white: #ffffff;
  --shadow: rgba(0, 0, 0, 0.1);
  --primary: var(--brand-coral);
  --secondary: var(--brand-mint);
  --background-top: var(--bg-top-peach);
  --background-bottom: var(--bg-bottom-mint);
  --background: var(--bg-soft-beige);
  --surface: var(--surface-linen-white, #faf2eb);
  --surface-strong: #ffffff;
  --line: rgba(58, 58, 58, 0.12);
  --line-strong: rgba(58, 58, 58, 0.22);
  --shadow-soft: 0 10px 30px rgba(58, 58, 58, 0.1);
  --shadow-card: 0 8px 24px rgba(58, 58, 58, 0.08);
  --brand-coral: #f37c6c;
  --brand-coral-strong: #df6656;
  --brand-coral-soft: #ffe8e2;
  --brand-mint: #a9dab0;
  --brand-mint-strong: #84be90;
  --text: var(--text-charcoal, #3a3a3a);
  --muted: var(--text-stone, #7b7b7b);
  --danger: #b94b3f;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background: linear-gradient(180deg, var(--bg-soft-beige, #fff9f4) 0%, #f8f3ee 50%, #f6efe8 100%);
  font-family: "Avenir Next", system-ui, -apple-system, "Segoe UI", sans-serif;
}

h1, h2, h3, h4 {
  color: var(--text);
  line-height: 1.2;
}

.btn-soft-primary {
  background-color: #ffe4d0;
  color: #e5871d;
  border-color: transparent;
  font-weight: 600;
}

.btn-soft-primary:hover,
.btn-soft-primary:focus-visible {
  background-color: #ffd2b3;
  color: #cc6f12;
}

.btn-soft-secondary {
  background-color: #c8e6c9;
  color: #2e7d32;
  border-color: transparent;
  font-weight: 600;
}

.btn-soft-secondary:hover,
.btn-soft-secondary:focus-visible {
  background-color: #b7dcc0;
  color: #256b28;
}

.btn-soft-danger {
  background-color: #f8d7da;
  color: #721c24;
  border-color: transparent;
  font-weight: 600;
}

.btn-soft-danger:hover,
.btn-soft-danger:focus-visible {
  background-color: #f3c2c7;
  color: #5f1a1f;
}

html {
  scroll-behavior: smooth;
}

.site-nav {
  position: sticky;
  top: 0;
  z-index: 1050;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
}

.site-nav .navbar-brand img {
  height: 36px;
  width: auto;
}

.site-nav .nav-link {
  color: var(--text);
  font-weight: 600;
  border-radius: 999px;
  padding: 0.5rem 0.85rem;
}

.site-nav .nav-link:hover,
.site-nav .nav-link:focus-visible {
  color: var(--brand-coral);
  background: rgba(243, 124, 108, 0.12);
}

.hero {
  background: linear-gradient(135deg, var(--bg-top-peach, #fde7dc) 0%, var(--bg-bottom-mint, #d9f2e5) 100%);
  padding: 4rem 0 2.6rem;
  border-bottom: 1px solid var(--line);
}

.hero h1 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.08;
  font-weight: 800;
}

.hero p {
  margin: 0.8rem 0 0;
  color: #4f4f4f;
  max-width: 68ch;
}

.hero-proof-row {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.48rem;
}

.hero-proof-pill {
  border: 1px solid rgba(58, 58, 58, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  padding: 0.34rem 0.62rem;
  font-size: 0.76rem;
  font-weight: 700;
  color: #4a4a4a;
}

.hero-cta-row {
  margin-top: 0.92rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.62rem;
  width: min(520px, 100%);
}

.hero-journey-btn {
  min-height: 3.1rem;
  border-radius: 13px;
  border-width: 1px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(58, 58, 58, 0.14);
}

.hero-journey-btn.is-selected {
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(58, 58, 58, 0.2);
}

.hero-journey-btn--buy {
  color: #fff;
  border-color: #db6b5c;
  background: linear-gradient(135deg, #f38778 0%, #df6656 100%);
}

.hero-journey-btn--buy:hover,
.hero-journey-btn--buy:focus-visible,
.hero-journey-btn--buy:active {
  color: #fff;
  border-color: #cc5a4a;
  background: linear-gradient(135deg, #ea7667 0%, #cc5a4a 100%);
}

.hero-journey-btn--sell {
  color: #fff;
  border-color: #4f7f69;
  background: linear-gradient(135deg, #63947b 0%, #4f7f69 100%);
}

.hero-journey-btn--sell:hover,
.hero-journey-btn--sell:focus-visible,
.hero-journey-btn--sell:active {
  color: #fff;
  border-color: #446d5b;
  background: linear-gradient(135deg, #56866f 0%, #446d5b 100%);
}

.hero-market-pulse {
  margin-top: 0.88rem;
  width: min(760px, 100%);
  border: 1px solid rgba(58, 58, 58, 0.14);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 7px 20px rgba(58, 58, 58, 0.1);
  padding: 0.68rem 0.78rem;
}

.hero-market-pulse__kicker {
  margin: 0;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #875349;
}

.hero-market-pulse__grid {
  margin-top: 0.45rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.hero-market-pulse__metric {
  border-radius: 10px;
  background: #fff;
  border: 1px solid rgba(58, 58, 58, 0.12);
  padding: 0.45rem 0.5rem;
}

.hero-market-pulse__metric strong {
  display: block;
  font-size: 1rem;
  line-height: 1.1;
  color: #2f2f2f;
}

.hero-market-pulse__metric span {
  display: block;
  margin-top: 0.18rem;
  font-size: 0.72rem;
  color: #676767;
}

@keyframes rise-fade {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero .container > h1,
.hero .container > p,
.hero-proof-row,
.hero-cta-row,
.hero-market-pulse,
.search-workbench,
.search-shell,
.event-request-shell {
  animation: rise-fade 0.44s ease both;
}

.hero .container > p { animation-delay: 0.04s; }
.hero-proof-row { animation-delay: 0.08s; }
.hero-cta-row { animation-delay: 0.12s; }
.hero-market-pulse { animation-delay: 0.16s; }
.search-workbench { animation-delay: 0.2s; }
.search-shell { animation-delay: 0.22s; }
.event-request-shell { animation-delay: 0.26s; }

.events-grid > * {
  animation: rise-fade 0.4s ease both;
}

.events-grid > *:nth-child(2) { animation-delay: 0.04s; }
.events-grid > *:nth-child(3) { animation-delay: 0.08s; }
.events-grid > *:nth-child(4) { animation-delay: 0.12s; }

@media (prefers-reduced-motion: reduce) {
  .hero .container > h1,
  .hero .container > p,
  .hero-proof-row,
  .hero-cta-row,
  .hero-market-pulse,
  .search-workbench,
  .search-shell,
  .event-request-shell,
  .events-grid > * {
    animation: none !important;
  }
}

.search-workbench {
  width: min(980px, 100%);
  margin-top: 1.45rem;
  border: 1px solid rgba(58, 58, 58, 0.14);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 14px 30px rgba(58, 58, 58, 0.14);
  padding: 0.78rem;
  position: relative;
  z-index: 40;
  backdrop-filter: blur(5px);
}

.search-shell {
  position: relative;
  width: 100%;
  z-index: 1300;
}

.search-input {
  width: 100%;
  border: 1px solid rgba(58, 58, 58, 0.15);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 16px rgba(58, 58, 58, 0.08);
  padding: 0.9rem 3.2rem 0.9rem 1rem;
  font-size: 1rem;
}

.search-input:focus-visible {
  outline: 2px solid rgba(243, 124, 108, 0.32);
  border-color: transparent;
}

.search-icon {
  position: absolute;
  top: 50%;
  right: 0.55rem;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 9px;
  min-width: 3.2rem;
  height: 2.3rem;
  padding: 0 0.72rem;
  font-size: 0.82rem;
  font-weight: 700;
  color: #fff;
  background: var(--brand-coral);
}

.search-icon:hover,
.search-icon:focus-visible {
  background: var(--brand-coral-strong);
}

.search-results {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: var(--shadow-soft);
  z-index: 1310;
  display: none;
  max-height: 420px;
  overflow-y: auto;
}

.search-result {
  border: 0;
  background: transparent;
  width: 100%;
  text-align: left;
  padding: 0.7rem 0.85rem;
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 0.7rem;
  align-items: center;
  border-bottom: 1px solid rgba(58, 58, 58, 0.07);
}

.search-result:last-child {
  border-bottom: 0;
}

.search-result:hover,
.search-result:focus-visible {
  background: rgba(243, 124, 108, 0.07);
}

.result-thumb {
  width: 52px;
  height: 52px;
  border-radius: 8px;
  object-fit: cover;
  background: linear-gradient(135deg, #f4dfd1 0%, #d4ebdc 100%);
}

.result-title {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--text);
  margin: 0;
}

.result-meta {
  font-size: 0.76rem;
  color: var(--muted);
  margin: 0.2rem 0 0;
}

.event-request-shell {
  position: relative;
  width: min(700px, 100%);
  margin-top: 0.9rem;
  z-index: 20;
}

.event-request-toggle {
  border-radius: 999px;
}

.event-request-panel {
  margin-top: 0.6rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 7px 18px rgba(58, 58, 58, 0.08);
  padding: 0.86rem;
  max-width: 700px;
}

.event-request-copy {
  margin: 0 0 0.6rem;
  font-size: 0.8rem;
  color: #545454;
}

.event-request-form {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.event-request-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.62rem;
}

.event-request-field {
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
}

.event-request-field > span {
  font-size: 0.73rem;
  font-weight: 700;
  color: var(--muted);
}

.event-request-field .form-control {
  border-radius: 9px;
  border-color: rgba(58, 58, 58, 0.18);
}

.event-request-field .form-control[type="file"] {
  padding: 0.34rem 0.48rem;
}

.event-request-field .form-control:focus {
  border-color: rgba(243, 124, 108, 0.6);
  box-shadow: 0 0 0 0.15rem rgba(243, 124, 108, 0.2);
}

.event-request-field-wide {
  grid-column: 1 / -1;
}

.event-request-field textarea.form-control {
  resize: vertical;
  min-height: 4.8rem;
}

.event-request-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
  justify-content: flex-start;
}

.event-request-actions .btn {
  min-width: 11.2rem;
}

.event-request-loading {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.35rem 0.55rem;
  border-radius: 999px;
  border: 1px solid rgba(58, 58, 58, 0.16);
  background: rgba(255, 255, 255, 0.9);
  color: #474747;
  font-size: 0.74rem;
}

.event-request-loading .spinner-border {
  width: 0.95rem;
  height: 0.95rem;
  border-width: 0.12rem;
}

.event-request-actions .mini-note {
  width: 100%;
}

.event-request-json-wrap {
  margin-top: 0.65rem;
  border-top: 1px dashed rgba(58, 58, 58, 0.2);
  padding-top: 0.65rem;
}

.event-request-json-title {
  margin: 0 0 0.38rem;
  font-size: 0.74rem;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  cursor: pointer;
}

.event-request-json {
  margin: 0;
  border: 1px solid rgba(58, 58, 58, 0.15);
  border-radius: 10px;
  background: #f8f7f4;
  color: #2f2f2f;
  padding: 0.62rem;
  font-size: 0.73rem;
  line-height: 1.35;
  max-height: 260px;
  overflow: auto;
}

.event-request-preview {
  margin-top: 0.62rem;
  display: grid;
  gap: 0.48rem;
}

.event-request-preview-meta {
  margin: 0;
  font-size: 0.76rem;
  color: var(--muted);
}

.event-request-preview-list {
  display: grid;
  gap: 0.5rem;
}

.event-request-preview-card {
  border: 1px solid rgba(58, 58, 58, 0.16);
  border-radius: 10px;
  background: #fff;
  padding: 0.58rem;
}

.event-request-preview-image {
  width: 100%;
  max-height: 150px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid rgba(58, 58, 58, 0.1);
  margin-bottom: 0.42rem;
  background: #f5f5f2;
}

.event-request-preview-title {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 700;
}

.event-request-preview-subtitle {
  margin: 0.24rem 0 0;
  font-size: 0.78rem;
  color: var(--muted);
}

.event-request-preview-description {
  margin: 0.32rem 0 0;
  font-size: 0.78rem;
  color: #4a4a4a;
}

.event-request-preview-actions {
  margin-top: 0.48rem;
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
}

.event-request-toast {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 1400;
  max-width: min(94vw, 360px);
  border: 1px solid rgba(58, 58, 58, 0.2);
  border-radius: 11px;
  background: #fff;
  color: var(--text);
  box-shadow: 0 10px 24px rgba(58, 58, 58, 0.2);
  padding: 0.68rem 0.76rem;
  font-size: 0.8rem;
}

.idkollen-spotlight {
  padding: 1rem 0;
}

.idkollen-spotlight__inner {
  border: 1px solid var(--line);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 6px 16px rgba(58, 58, 58, 0.08);
  padding: 0.9rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.idkollen-spotlight__inner h2 {
  margin: 0;
  font-size: 1.04rem;
}

.idkollen-spotlight__inner p {
  margin: 0.22rem 0 0;
  color: var(--muted);
  font-size: 0.85rem;
}

.idkollen-spotlight__link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  border: 1px solid rgba(58, 58, 58, 0.15);
  border-radius: 999px;
  padding: 0.44rem 0.62rem;
  background: #fff;
  color: var(--text);
  text-decoration: none;
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}

.idkollen-spotlight__link:hover,
.idkollen-spotlight__link:focus-visible {
  color: var(--brand-coral);
  background: rgba(243, 124, 108, 0.1);
  border-color: rgba(243, 124, 108, 0.32);
}

.idkollen-spotlight__link img {
  height: 18px;
  width: auto;
}

.section-block {
  padding: 2.2rem 0;
}

.section-header {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1rem;
  margin-bottom: 1.1rem;
}

.section-title {
  margin: 0;
  font-size: 1.45rem;
  font-weight: 700;
}

#eventsTitle {
  scroll-margin-top: 5.8rem;
}

.section-subtitle {
  margin: 0.2rem 0 0;
  color: var(--muted);
}

.home-filters {
  border: 1px solid rgba(58, 58, 58, 0.14);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
  padding: 0.7rem;
  margin-top: 0.62rem;
}

.home-filters-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
}

.home-filters-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  margin-bottom: 0.55rem;
}

.home-filters-title {
  margin: 0;
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-weight: 800;
  color: #7b5349;
}

.home-filter-field {
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
}

.home-filter-field > span {
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--muted);
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.home-filter-field .form-control,
.home-filter-field .form-select {
  border-radius: 11px;
  border: 1px solid rgba(58, 58, 58, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(251, 248, 245, 0.98) 100%);
  min-height: 2.35rem;
  font-size: 0.86rem;
  font-weight: 600;
  color: #323232;
  box-shadow: 0 2px 10px rgba(58, 58, 58, 0.05);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.home-filter-field .form-control:hover,
.home-filter-field .form-select:hover {
  border-color: rgba(223, 102, 86, 0.45);
  box-shadow: 0 4px 12px rgba(223, 102, 86, 0.11);
}

.home-filter-field .form-control:focus,
.home-filter-field .form-select:focus {
  border-color: rgba(243, 124, 108, 0.6);
  background-color: #fff;
  box-shadow: 0 0 0 0.17rem rgba(243, 124, 108, 0.2);
}

.home-filter-field .form-control::placeholder {
  color: #7a7a7a;
  font-weight: 500;
}

.home-select-shell {
  position: relative;
}

.home-select-native {
  position: absolute !important;
  inset: 0 auto auto 0;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.home-select-trigger {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  text-align: left;
  border-radius: 11px;
  border: 1px solid rgba(58, 58, 58, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(251, 248, 245, 0.98) 100%);
  min-height: 2.35rem;
  font-size: 0.86rem;
  font-weight: 600;
  color: #323232;
  box-shadow: 0 2px 10px rgba(58, 58, 58, 0.05);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
  padding: 0.5rem 2.3rem 0.5rem 0.72rem;
  position: relative;
  cursor: pointer;
}

.home-select-trigger::after {
  content: "";
  width: 0.9rem;
  height: 0.9rem;
  position: absolute;
  top: 50%;
  right: 0.72rem;
  transform: translateY(-50%);
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%235a5a5a' d='M4.47 6.47a.75.75 0 0 1 1.06 0L8 8.94l2.47-2.47a.75.75 0 1 1 1.06 1.06l-3 3a.75.75 0 0 1-1.06 0l-3-3a.75.75 0 0 1 0-1.06Z'/%3E%3C/svg%3E");
  opacity: 0.85;
}

.home-select-trigger:hover,
.home-select-shell.is-open .home-select-trigger {
  border-color: rgba(223, 102, 86, 0.45);
  box-shadow: 0 4px 12px rgba(223, 102, 86, 0.11);
}

.home-select-shell.is-open .home-select-trigger {
  background: #fff;
  border-color: rgba(223, 102, 86, 0.58);
}

.home-select-trigger:active {
  transform: translateY(1px);
}

.home-select-trigger:focus-visible {
  border-color: rgba(243, 124, 108, 0.6);
  background-color: #fff;
  box-shadow: 0 0 0 0.17rem rgba(243, 124, 108, 0.2);
}

.home-select-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 1205;
  border: 1px solid rgba(58, 58, 58, 0.14);
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 14px 30px rgba(58, 58, 58, 0.18);
  max-height: 260px;
  overflow-y: auto;
  padding: 0.26rem;
}

.home-select-option {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  border-radius: 8px;
  padding: 0.46rem 0.56rem;
  font-size: 0.84rem;
  color: #3a3a3a;
  cursor: pointer;
}

.home-select-option:hover,
.home-select-option:focus-visible {
  background: rgba(243, 124, 108, 0.1);
}

.home-select-option.is-selected {
  background: rgba(169, 218, 176, 0.26);
  color: #274a2f;
  font-weight: 700;
}

.home-filters-loading {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.5rem;
  color: #5c5c5c;
  font-size: 0.8rem;
  font-weight: 600;
}

.events-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
}

.events-grid.is-refreshing {
  opacity: 0.68;
  pointer-events: none;
  transition: opacity 0.16s ease;
}

.events-empty-state {
  grid-column: 1 / -1;
  border: 1px solid rgba(58, 58, 58, 0.16);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.94);
  padding: 0.9rem 1rem;
  color: #4f4f4f;
  font-size: 0.9rem;
}

.home-list-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.7rem;
  margin-top: 1rem;
}

.event-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--shadow-card);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.event-card-skeleton {
  pointer-events: none;
}

.event-card-skeleton__image,
.event-card-skeleton__stats,
.event-card-skeleton__title,
.event-card-skeleton__meta,
.event-card-skeleton__footer {
  background: linear-gradient(90deg, rgba(244, 239, 235, 0.95) 0%, rgba(255, 255, 255, 0.98) 50%, rgba(244, 239, 235, 0.95) 100%);
  background-size: 220% 100%;
  animation: norti-skeleton-shimmer 1.2s ease-in-out infinite;
  border-radius: 10px;
}

.event-card-skeleton__image {
  aspect-ratio: 16 / 9;
}

.event-card-skeleton .event-body {
  gap: 0.68rem;
}

.event-card-skeleton__stats {
  height: 46px;
}

.event-card-skeleton__title {
  height: 24px;
  width: 78%;
}

.event-card-skeleton__meta {
  height: 16px;
  width: 64%;
}

.event-card-skeleton__meta--short {
  width: 48%;
}

.event-card-skeleton__footer {
  height: 18px;
  width: 72%;
}

.events-grid-skeleton {
  display: grid;
  gap: 1rem;
}

.skeleton-card {
  display: grid;
  gap: 0.75rem;
}

.skeleton-block {
  background: linear-gradient(90deg, rgba(244, 239, 235, 0.95) 0%, rgba(255, 255, 255, 0.98) 50%, rgba(244, 239, 235, 0.95) 100%);
  background-size: 220% 100%;
  animation: norti-skeleton-shimmer 1.2s ease-in-out infinite;
  border-radius: 10px;
}

.skeleton-block--title {
  min-height: 1.25rem;
  width: 72%;
}

.skeleton-block--line {
  min-height: 0.95rem;
  width: 100%;
}

@keyframes norti-skeleton-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

.event-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(58, 58, 58, 0.14);
}

.event-card-link {
  color: inherit;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.event-image-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: linear-gradient(135deg, #f4dfd1 0%, #d4ebdc 100%);
}

.event-image-frame--header {
  min-height: 240px;
}

.event-image-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, rgba(255, 255, 255, 0) 24%, rgba(255, 255, 255, 0.42) 48%, rgba(255, 255, 255, 0) 72%);
  transform: translateX(-110%);
  animation: event-image-loading-shimmer 1.35s ease-in-out infinite;
  z-index: 2;
}

.event-image-frame.is-loaded::after {
  opacity: 0;
  animation: none;
}

.event-image-loading {
  position: absolute;
  inset: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.46rem;
  color: #5c5754;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  z-index: 3;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}

.event-image-frame.is-loaded .event-image-loading {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.event-image-loading-spinner {
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 999px;
  border: 2px solid rgba(92, 87, 84, 0.26);
  border-top-color: rgba(92, 87, 84, 0.76);
  animation: event-image-loading-spin 0.85s linear infinite;
}

.event-image-frame .event-hero,
.event-image-frame .event-header-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0;
  transition: opacity 0.24s ease;
  aspect-ratio: auto;
  position: relative;
  z-index: 1;
}

.event-image-frame.is-loaded .event-hero,
.event-image-frame.is-loaded .event-header-image {
  opacity: 1;
}

.event-hero {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  background: linear-gradient(135deg, #f4dfd1 0%, #d4ebdc 100%);
}

@keyframes event-image-loading-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes event-image-loading-shimmer {
  to {
    transform: translateX(110%);
  }
}

.event-body {
  padding: 0.82rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex-grow: 1;
}

.event-name {
  margin: 0;
  font-size: 1rem;
  line-height: 1.22;
  font-weight: 700;
}

.event-meta {
  margin: 0;
  color: var(--muted);
  font-size: 0.79rem;
}

.event-price-signal {
  margin: 0.08rem 0 0;
  border: 1px solid rgba(58, 58, 58, 0.11);
  border-radius: 9px;
  background: #fbf6f0;
  color: #67463f;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.34rem 0.45rem;
  min-height: 2.1rem;
  display: flex;
  align-items: center;
}

.event-card-footer {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 0.42rem;
}

.event-card-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  padding: 0.46rem 0.56rem;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #fff;
  background: linear-gradient(90deg, #e47563 0%, #dc5f50 100%);
}

.event-card:hover .event-card-cta {
  background: linear-gradient(90deg, #dc6655 0%, #d75143 100%);
}

.ticket-stats {
  display: flex;
  gap: 0.4rem;
}

.ticket-stat {
  flex: 1;
  text-align: center;
  border-radius: 8px;
  padding: 0.34rem 0.25rem;
  font-size: 0.68rem;
}

.ticket-offered {
  background-color: #c8e6c9;
  color: #2f8a34;
}

.ticket-wanted {
  background-color: #ffecb3;
  color: #b68208;
}

.ticket-pwl {
  background-color: #ffe4d0;
  color: #bd6514;
}

.ticket-stat-number {
  display: block;
  font-weight: 700;
  font-size: 0.9rem;
  line-height: 1;
}

.ticket-stat-label {
  display: block;
  margin-top: 0.2rem;
}

.btn {
  border-radius: 11px;
  font-weight: 600;
  letter-spacing: 0.01em;
  border-width: 1px;
  transition: transform 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.btn-loading {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
}

.auth-btn-spinner {
  width: 0.78rem;
  height: 0.78rem;
  border-radius: 50%;
  border: 2px solid currentColor;
  border-right-color: transparent;
  animation: auth-btn-spin 0.75s linear infinite;
  flex-shrink: 0;
}

@keyframes auth-btn-spin {
  to {
    transform: rotate(360deg);
  }
}

.global-action-clicked {
  position: relative;
}

.global-action-clicked::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  border: 2px solid rgba(228, 104, 54, 0.35);
  animation: global-action-pulse 0.9s ease-out;
  pointer-events: none;
}

@keyframes global-action-pulse {
  0% {
    opacity: 0.9;
    transform: scale(0.97);
  }
  100% {
    opacity: 0;
    transform: scale(1.04);
  }
}

.global-action-loading {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 1rem;
  background: rgba(20, 20, 20, 0.22);
  backdrop-filter: blur(2px);
}

.global-action-loading__card {
  width: min(520px, calc(100vw - 2rem));
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: linear-gradient(150deg, rgba(249, 248, 245, 0.96) 0%, rgba(255, 255, 255, 0.98) 100%);
  box-shadow: 0 14px 34px rgba(26, 24, 22, 0.24);
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.72rem 0.86rem;
}

.global-action-loading__spinner {
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  border: 2px solid #ea7c4f;
  border-right-color: transparent;
  animation: auth-btn-spin 0.7s linear infinite;
  flex-shrink: 0;
}

.global-action-loading__content {
  min-width: 0;
}

.global-action-loading__title {
  margin: 0;
  font-size: 0.83rem;
  letter-spacing: 0.02em;
  color: #6b4d3b;
  text-transform: uppercase;
}

.global-action-loading__text {
  margin: 0.08rem 0 0;
  font-size: 0.88rem;
  color: #2f2722;
}

.btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(58, 58, 58, 0.14);
}

.btn:active {
  transform: translateY(0);
}

.btn:focus-visible {
  box-shadow: 0 0 0 0.24rem rgba(243, 124, 108, 0.3);
}

.btn-soft-primary {
  color: #fff;
  background: var(--brand-coral);
  border-color: var(--brand-coral);
}

.btn-soft-primary:hover,
.btn-soft-primary:focus-visible {
  color: #fff;
  background: var(--brand-coral-strong);
  border-color: var(--brand-coral-strong);
}

.btn-soft-primary:active,
.btn-soft-primary.active,
.show > .btn-soft-primary.dropdown-toggle {
  color: #fff;
  background: var(--brand-coral-strong);
  border-color: var(--brand-coral-strong);
}

.btn-soft-primary:disabled,
.btn-soft-primary.disabled {
  color: #fff;
  background: #e7b4ab;
  border-color: #e7b4ab;
}

.btn-primary {
  color: #fff;
  background: var(--brand-coral);
  border-color: var(--brand-coral);
}

.btn-primary:hover,
.btn-primary:focus-visible {
  color: #fff;
  background: var(--brand-coral-strong);
  border-color: var(--brand-coral-strong);
}

.btn-soft-secondary {
  color: #234634;
  background: #d8ecdd;
  border-color: #c3e0cb;
}

.btn-soft-secondary:hover,
.btn-soft-secondary:focus-visible {
  color: #1a3829;
  background: #c9e4d1;
  border-color: #b2d7bd;
}

.btn-soft-secondary:active,
.btn-soft-secondary.active,
.show > .btn-soft-secondary.dropdown-toggle {
  color: #1a3829;
  background: #c2dec9;
  border-color: #add1b7;
}

.btn-soft-warning {
  color: #6d3e07;
  background: #ffe8c8;
  border-color: #f1c98f;
}

.btn-soft-warning:hover,
.btn-soft-warning:focus-visible {
  color: #5c3302;
  background: #ffddb0;
  border-color: #e7bc7c;
}

.btn-soft-warning:active,
.btn-soft-warning.active,
.show > .btn-soft-warning.dropdown-toggle {
  color: #5c3302;
  background: #fbd39c;
  border-color: #ddae6f;
}

.btn-outline-primary {
  color: #8f4a3f;
  border-color: #bf7b70;
  background: #fff7f4;
  width: auto;
  margin-top: 0;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus-visible {
  color: #fff;
  background: #be685a;
  border-color: #be685a;
}

.btn-outline-primary:active,
.btn-outline-primary.active,
.show > .btn-outline-primary.dropdown-toggle {
  color: #fff;
  background: #be685a;
  border-color: #be685a;
}

.btn-outline-primary:disabled,
.btn-outline-primary.disabled {
  color: #a08782;
  border-color: #dbc6c2;
  background: #fdf9f7;
}

.btn-outline-secondary {
  color: #4f5f58;
  border-color: #afc1b9;
  background: #f7fbf9;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus-visible {
  color: #fff;
  background: #6e8c7d;
  border-color: #6e8c7d;
}

.btn-outline-secondary:active,
.btn-outline-secondary.active,
.show > .btn-outline-secondary.dropdown-toggle {
  color: #fff;
  background: #6e8c7d;
  border-color: #6e8c7d;
}

.btn-outline-danger {
  color: #9f4337;
  border-color: #d79b92;
  background: #fff;
}

.btn-outline-danger:hover,
.btn-outline-danger:focus-visible {
  color: #fff;
  background: #b95f53;
  border-color: #b95f53;
}

.btn-buy-cta {
  color: #fff;
  background: linear-gradient(90deg, #e7705f 0%, #db5d4f 100%);
  border-color: #db5d4f;
}

.btn-buy-cta:hover,
.btn-buy-cta:focus-visible {
  color: #fff;
  background: linear-gradient(90deg, #db6655 0%, #d34f41 100%);
  border-color: #d34f41;
}

.btn-buy-cta:disabled,
.btn-buy-cta.disabled {
  color: #fff;
  background: #e4b7af;
  border-color: #e4b7af;
}

.auth-modal .modal-content {
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow-soft);
}

.auth-modal .modal-header {
  border-bottom: 0;
  padding-bottom: 0.45rem;
}

.auth-modal-lead {
  margin: 0 0 0.7rem;
  color: #5e5a57;
  font-size: 0.86rem;
}

.auth-choice-grid {
  display: grid;
  gap: 0.55rem;
}

.auth-choice-btn {
  width: 100%;
  border-radius: 12px;
  min-height: 3rem;
  padding: 0.64rem 0.78rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.62rem;
  border: 1px solid rgba(58, 58, 58, 0.16);
  background: #fff;
  color: #353535;
  font-weight: 700;
}

.auth-choice-btn:hover,
.auth-choice-btn:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 8px 16px rgba(58, 58, 58, 0.12);
}

.auth-choice-icon {
  width: 1.15rem;
  height: 1.15rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.auth-choice-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.auth-choice-btn--google {
  border-color: rgba(234, 67, 53, 0.28);
  background: linear-gradient(160deg, #ffffff 0%, #fff6f5 100%);
}

.auth-choice-btn--facebook {
  border-color: rgba(59, 89, 152, 0.3);
  background: linear-gradient(160deg, #3b5998 0%, #28467f 100%);
  color: #fff;
}

.auth-choice-btn--email {
  border-color: rgba(223, 102, 86, 0.35);
  background: linear-gradient(160deg, #fff6f3 0%, #fff 100%);
}

.auth-email-panel {
  border: 1px solid rgba(58, 58, 58, 0.16);
  border-radius: 12px;
  background: linear-gradient(160deg, #fffaf6 0%, #ffffff 100%);
  padding: 0.7rem;
  margin-top: 0.1rem;
}

.auth-email-back-btn {
  margin-bottom: 0.6rem;
  border-radius: 999px;
  border: 1px solid rgba(58, 58, 58, 0.18);
  background: #fff;
  color: #57514d;
  font-size: 0.76rem;
  font-weight: 700;
  padding: 0.22rem 0.64rem;
}

.auth-email-back-btn:hover,
.auth-email-back-btn:focus-visible {
  color: #3f3a37;
  border-color: rgba(58, 58, 58, 0.3);
  background: #fff9f6;
}

.auth-modal .form-control {
  border-radius: 10px;
}

.bankid-qr-wrap {
  margin-bottom: 0.65rem;
  border: 1px solid rgba(58, 58, 58, 0.14);
  border-radius: 12px;
  background: linear-gradient(165deg, #ffffff 0%, #f7fbf8 100%);
  padding: 0.75rem;
}

.bankid-qr-wrap .mini-note {
  color: #42534b;
}

.bankid-qr-frame {
  width: fit-content;
  margin: 0 auto;
  border: 1px solid rgba(58, 58, 58, 0.18);
  border-radius: 12px;
  background: #fff;
  padding: 0.45rem;
}

.bankid-qr-canvas {
  width: 220px;
  height: 220px;
  display: block;
}

.bankid-qr-canvas > img,
.bankid-qr-canvas > canvas {
  width: 100% !important;
  height: 100% !important;
  display: block;
}

.share-modal-content {
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow-soft);
}

.share-summary-card {
  border: 1px solid rgba(58, 58, 58, 0.12);
  border-radius: 12px;
  background: linear-gradient(145deg, #fff9f5 0%, #f3fbf7 100%);
  padding: 0.8rem 0.9rem;
}

.share-summary-kicker {
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 700;
  color: #965248;
}

.share-summary-card h4 {
  margin: 0;
  font-size: 1.08rem;
}

.share-platform-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
}

.share-platform-grid .btn {
  width: 100%;
  min-width: 0;
}

.status-inline {
  border: 1px solid #ebd2cc;
  border-left: 4px solid #d9a39a;
  border-radius: 10px;
  background: #fffaf8;
  font-size: 0.84rem;
  color: #5f4944;
  padding: 0.58rem 0.68rem;
  line-height: 1.35;
}

.status-inline:empty {
  display: none;
}

.status-inline.is-success {
  border-color: #c4dfcb;
  border-left-color: #7bb28a;
  background: #f4fbf6;
  color: #2b5938;
}

.status-inline.is-warning {
  border-color: #f2e0af;
  border-left-color: #cc9b1e;
  background: #fffaf0;
  color: #835f04;
}

.status-inline.is-error {
  border-color: #edc2bc;
  border-left-color: #c55e51;
  background: #fff5f3;
  color: #8c3026;
}

.auth-status {
  border: 1px solid var(--line);
  border-radius: 10px;
  min-height: 2.4rem;
  background: #fafafa;
  font-size: 0.82rem;
  color: #555;
  padding: 0.55rem;
  white-space: pre-wrap;
}

.profile-pill {
  border-radius: 999px;
  border: 1px solid #d8b1aa;
  background: #fff7f4;
  color: #7c3f36;
  padding: 0.4rem 0.72rem;
  font-size: 0.85rem;
}

.event-page-shell {
  padding: 2rem 0 3rem;
}

.listing-page-shell {
  padding: 2rem 0 3rem;
}

.listing-breadcrumb {
  font-size: 0.78rem;
  color: var(--muted);
}

.listing-breadcrumb a {
  color: #7b4a42;
  font-weight: 700;
  text-decoration: none;
}

.listing-breadcrumb a:hover,
.listing-breadcrumb a:focus-visible {
  text-decoration: underline;
}

.listing-price-breakdown {
  display: grid;
  gap: 0.36rem;
}

.listing-price-breakdown__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
  border-bottom: 1px solid rgba(58, 58, 58, 0.09);
  padding-bottom: 0.34rem;
  font-size: 0.82rem;
}

.listing-price-breakdown__row:last-of-type {
  border-bottom: 0;
}

.listing-price-breakdown__row strong {
  color: #2a2a2a;
}

.listing-price-breakdown__row--total {
  font-size: 0.9rem;
}

.listing-purchase-panel {
  margin-top: 0.85rem;
  padding-top: 0.72rem;
  border-top: 1px solid rgba(58, 58, 58, 0.12);
  display: grid;
  gap: 0.46rem;
  position: sticky;
  top: 6.2rem;
  z-index: 20;
}

.listing-purchase-panel__summary {
  display: grid;
  gap: 0.25rem;
}

.listing-purchase-panel__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  font-size: 0.82rem;
  color: #414141;
}

.listing-purchase-panel__row strong {
  color: #242424;
}

.listing-purchase-panel__row--total {
  font-size: 0.9rem;
  font-weight: 700;
}

.listing-purchase-panel__terms {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  font-size: 0.76rem;
  color: #5a5753;
  line-height: 1.35;
}

.listing-purchase-panel__terms input {
  margin-top: 0.12rem;
}

#listingBuyNowBtn {
  width: 100%;
}

.listing-trustap-notice {
  display: grid;
  gap: 0.32rem;
}

.listing-trustap-notice__kicker {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #7f4a0f;
}

.listing-trustap-notice__title {
  margin: 0;
  font-size: 0.95rem;
  color: #2f2f2f;
}

.listing-trustap-notice__meta,
.listing-trustap-notice__lead,
.listing-trustap-notice__account {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.4;
  color: #4c433d;
}

.listing-trustap-notice__steps {
  margin: 0.1rem 0 0;
  padding-left: 1rem;
  font-size: 0.78rem;
  line-height: 1.4;
  color: #3f3832;
}

.listing-primary-content {
  display: block;
}

.listing-primary-content__skeleton {
  min-height: 260px;
}

.listing-shell-skeleton {
  border-radius: 999px;
  background:
    linear-gradient(110deg, rgba(255, 255, 255, 0) 24%, rgba(255, 255, 255, 0.48) 48%, rgba(255, 255, 255, 0) 72%),
    linear-gradient(135deg, rgba(244, 223, 209, 0.9) 0%, rgba(212, 235, 220, 0.92) 100%);
  background-size: 220% 100%, 100% 100%;
  animation: listing-shell-shimmer 1.25s ease-in-out infinite;
}

.listing-shell-skeleton--pill {
  width: 5.5rem;
  height: 1.25rem;
  margin-bottom: 0.45rem;
}

.listing-shell-skeleton--title {
  width: min(20rem, 82%);
  height: 1.5rem;
  margin-bottom: 0.65rem;
  border-radius: 12px;
}

.listing-shell-skeleton--line {
  width: 100%;
  height: 0.9rem;
  margin-bottom: 0.5rem;
}

.listing-shell-skeleton--line-sm {
  width: 68%;
}

.listing-shell-skeleton--line-lg {
  width: 92%;
  margin-bottom: 1rem;
}

.listing-shell-skeleton--actions {
  width: 13rem;
  height: 2.6rem;
  border-radius: 14px;
}

@keyframes listing-shell-shimmer {
  0% {
    background-position: 120% 0, 0 0;
  }
  100% {
    background-position: -120% 0, 0 0;
  }
}

.listing-share-page {
  border: 1px solid rgba(202, 106, 84, 0.44);
  border-radius: 14px;
  background:
    radial-gradient(circle at 94% -10%, rgba(169, 218, 176, 0.62) 0%, rgba(169, 218, 176, 0) 44%),
    linear-gradient(140deg, #fff2eb 0%, #fff8f4 52%, #f4fbf7 100%);
  box-shadow: 0 11px 24px rgba(96, 59, 49, 0.14);
  padding: 0.82rem 0.9rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.9rem;
}

.listing-share-page__content {
  min-width: 0;
}

.listing-share-page__kicker {
  margin: 0;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 800;
  color: #8d3e31;
}

.listing-share-page__title {
  margin: 0;
  font-size: 1.02rem;
  color: #2f2f2f;
}

.listing-share-page__text {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.42;
  color: #524640;
}

.listing-share-page__button {
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #cc6a58 0%, #ea7b67 55%, #f49b71 100%);
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.01em;
  min-width: 13.5rem;
  box-shadow: 0 10px 20px rgba(181, 94, 74, 0.3);
  transition: transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
}

.listing-share-page__button:hover,
.listing-share-page__button:focus-visible {
  color: #fff;
  filter: saturate(1.08);
  transform: translateY(-1px);
  box-shadow: 0 12px 22px rgba(181, 94, 74, 0.34);
}

.listing-share-page__button:active {
  transform: translateY(0);
  box-shadow: 0 8px 16px rgba(181, 94, 74, 0.28);
}

.listing-journey-shell {
  display: grid;
  gap: 0.75rem;
}

.listing-journey-intro {
  border-left: 4px solid rgba(204, 106, 88, 0.66);
  background: rgba(255, 255, 255, 0.82);
  border-radius: 10px;
  padding: 0.72rem 0.8rem;
}

.listing-journey-intro__kicker {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #934334;
}

.listing-journey-intro__title {
  margin: 0.22rem 0 0;
  font-size: 1.08rem;
  color: #2e2e2e;
}

.listing-journey-intro__text {
  margin: 0.34rem 0 0;
  font-size: 0.82rem;
  line-height: 1.4;
  color: #4e4541;
}

.listing-journey-meta {
  border: 1px solid rgba(58, 58, 58, 0.12);
  border-radius: 12px;
  background: #fff;
  padding: 0.74rem 0.8rem;
  display: grid;
  gap: 0.28rem;
}

.listing-journey-meta__title {
  margin: 0;
  font-size: 0.98rem;
  font-weight: 700;
  color: #2d2d2d;
}

.listing-journey-meta__line,
.listing-journey-meta__desc,
.listing-journey-meta__settlement {
  margin: 0;
  font-size: 0.79rem;
  line-height: 1.4;
  color: #524742;
}

.listing-owner-note {
  border: 1px solid rgba(142, 170, 117, 0.5);
  border-radius: 12px;
  background: linear-gradient(145deg, #f2faec 0%, #fcfffa 100%);
  padding: 0.76rem 0.82rem;
}

.listing-owner-note__title {
  margin: 0;
  font-size: 0.94rem;
  color: #2f4f29;
}

.listing-owner-note__text {
  margin: 0.25rem 0 0;
  font-size: 0.8rem;
  line-height: 1.4;
  color: #496142;
}

.listing-steps {
  display: grid;
  gap: 0.62rem;
}

.listing-step {
  border: 1px solid rgba(58, 58, 58, 0.14);
  border-radius: 12px;
  background: #fff;
  padding: 0.72rem 0.78rem;
  display: grid;
  gap: 0.18rem;
}

.listing-step__index {
  margin: 0;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7e6a5f;
}

.listing-step__title {
  margin: 0;
  font-size: 0.95rem;
  color: #2e2e2e;
}

.listing-step__body {
  margin-top: 0.1rem;
}

.listing-step.is-action {
  border-color: rgba(205, 122, 98, 0.52);
  background: linear-gradient(145deg, #fff5ee 0%, #fffbf8 100%);
}

.listing-step.is-done {
  border-color: rgba(117, 174, 130, 0.5);
  background: linear-gradient(145deg, #edf9f0 0%, #f8fdf9 100%);
}

.listing-step.is-waiting {
  border-color: rgba(92, 136, 165, 0.46);
  background: linear-gradient(145deg, #edf5fb 0%, #f8fbff 100%);
}

.listing-step.is-locked {
  border-color: rgba(133, 127, 123, 0.36);
  background: #fbf8f6;
}

.listing-step__done {
  color: #2d6d3f;
  font-weight: 700;
}

.listing-step .ticket-delivery-form {
  margin-top: 0.14rem;
}

.listing-buy-focus {
  border: 1px solid rgba(205, 122, 98, 0.48);
  border-radius: 12px;
  background: linear-gradient(145deg, #fff4ec 0%, #fffcf9 100%);
  padding: 0.76rem 0.82rem;
  display: grid;
  gap: 0.34rem;
  max-width: 520px;
}

.event-header-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.event-header-image {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  background: linear-gradient(135deg, #f4dfd1 0%, #d4ebdc 100%);
}

.event-header-body {
  padding: 1rem;
}

.event-description {
  margin: 0.4rem 0 0.65rem;
  font-size: 0.88rem;
  line-height: 1.42;
  color: #4a4a4a;
}

.market-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  padding: 0.9rem;
  box-shadow: 0 4px 12px rgba(58, 58, 58, 0.05);
  display: flex;
  flex-direction: column;
  gap: 0.34rem;
}

.market-card h4 {
  margin: 0;
  font-size: 1rem;
}

.market-card p {
  margin: 0.32rem 0 0;
  color: var(--muted);
  font-size: 0.8rem;
}

.market-card strong {
  color: #2f2f2f;
}

.listing-clarity {
  border: 1px solid rgba(58, 58, 58, 0.14);
  border-radius: 11px;
  background: #fffaf5;
  padding: 0.58rem 0.62rem;
  margin-top: 0.12rem;
  margin-bottom: 0.1rem;
}

.listing-clarity--action {
  border-color: rgba(212, 139, 58, 0.52);
  background: linear-gradient(150deg, #fff3d7 0%, #fffaf0 100%);
}

.listing-clarity--waiting {
  border-color: rgba(90, 132, 164, 0.45);
  background: linear-gradient(150deg, #e8f3fb 0%, #f4faff 100%);
}

.listing-clarity--done {
  border-color: rgba(98, 160, 112, 0.45);
  background: linear-gradient(150deg, #ecf9ef 0%, #f6fcf7 100%);
}

.listing-clarity--closed {
  border-color: rgba(153, 116, 109, 0.42);
  background: linear-gradient(150deg, #f8efed 0%, #fbf7f6 100%);
}

.listing-clarity--open {
  border-color: rgba(151, 128, 66, 0.38);
  background: linear-gradient(150deg, #fdf6e8 0%, #fffaf3 100%);
}

.listing-clarity--alert {
  border-color: rgba(168, 64, 45, 0.5);
  background: linear-gradient(150deg, #fde8e2 0%, #fff5f2 100%);
}

.listing-clarity__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.listing-tag {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.18rem 0.48rem;
  line-height: 1.1;
}

.listing-tag--role-seller {
  border-color: #ac8b4a;
  background: #fff4d8;
  color: #7d4b07;
}

.listing-tag--role-buyer {
  border-color: #79a4bc;
  background: #e6f4fb;
  color: #1f5d7f;
}

.listing-tag--role-observer {
  border-color: #b8b8b8;
  background: #f1f1f1;
  color: #4e4e4e;
}

.listing-tag--role-guest {
  border-color: #bf9c91;
  background: #f9ede9;
  color: #82463d;
}

.listing-tag--stage-action {
  border-color: #d4a45d;
  background: #ffefcd;
  color: #72420b;
}

.listing-tag--stage-waiting {
  border-color: #82a8be;
  background: #e8f5fc;
  color: #275d7b;
}

.listing-tag--stage-done {
  border-color: #8ebf98;
  background: #eaf8ec;
  color: #2f6940;
}

.listing-tag--stage-closed {
  border-color: #bb9d98;
  background: #f5ecea;
  color: #6a4843;
}

.listing-tag--stage-open {
  border-color: #bca262;
  background: #fff4dc;
  color: #734d10;
}

.listing-tag--stage-alert {
  border-color: #d08b7c;
  background: #ffe6df;
  color: #7f2417;
}

.listing-tag--stage-neutral {
  border-color: #c3b8a8;
  background: #f6f2eb;
  color: #5f5649;
}

.listing-tag--complaint {
  border-color: #d59e4e;
  background: #fff2d7;
  color: #7a4a08;
}

.listing-clarity__message {
  margin: 0.34rem 0 0;
  color: #3f3e3b;
  font-size: 0.76rem;
  line-height: 1.35;
}

.listing-clarity__next {
  margin: 0.2rem 0 0;
  color: #5a5753;
  font-size: 0.72rem;
  line-height: 1.35;
}

.event-fixed-explainer {
  margin-top: 0.44rem;
}

.event-listing-card {
  position: relative;
}

.event-marketplace-card {
  min-height: 100%;
  padding: 0;
  overflow: hidden;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.event-marketplace-card:hover {
  transform: translateY(-2px);
  border-color: rgba(201, 112, 90, 0.55);
  box-shadow: 0 12px 24px rgba(98, 62, 54, 0.14);
}

.event-marketplace-card:focus-within {
  border-color: rgba(201, 112, 90, 0.66);
  box-shadow: 0 0 0 3px rgba(226, 132, 108, 0.24);
}

.unified-listing-card--inactive {
  border-style: dashed;
  opacity: 0.92;
}

.event-marketplace-card__link {
  min-height: 100%;
  padding: 0.9rem;
  display: flex;
  flex-direction: column;
  gap: 0.34rem;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

.event-marketplace-card__link:focus-visible {
  outline: none;
}

.event-marketplace-card__cta {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
  width: fit-content;
  border-radius: 999px;
  border: 1px solid rgba(140, 86, 74, 0.22);
  background: #f8f3ec;
  color: #6e4038;
  padding: 0.22rem 0.58rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.event-marketplace-card:hover .event-marketplace-card__cta,
.event-marketplace-card:focus-within .event-marketplace-card__cta {
  background: #f2e7dd;
  border-color: rgba(140, 86, 74, 0.35);
}

.event-marketplace-card__cta-icon {
  display: inline-block;
  font-size: 0.88rem;
  transform: translateX(0);
  transition: transform 0.18s ease;
}

.event-marketplace-card:hover .event-marketplace-card__cta-icon,
.event-marketplace-card:focus-within .event-marketplace-card__cta-icon {
  transform: translateX(2px);
}

#createListingDeliveryGroup {
  border: 1px solid rgba(58, 58, 58, 0.12);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.8);
  padding: 0.62rem 0.72rem;
}

.event-listing-card--own {
  border-color: #d9a241;
  background: linear-gradient(165deg, #fffef9 0%, #fff8eb 100%);
  box-shadow: 0 10px 24px rgba(186, 131, 25, 0.14);
}

.event-listing-card--needs-action {
  border-width: 2px;
}

.event-own-kicker {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #995500;
}

.event-own-summary {
  grid-column: 1 / -1;
  border: 2px solid #d7a03e;
  box-shadow: 0 12px 30px rgba(183, 126, 24, 0.18);
  gap: 0.22rem;
}

.event-own-summary--action {
  background: linear-gradient(145deg, #fff4d6 0%, #fffdf4 100%);
}

.event-own-summary--stable {
  background: linear-gradient(145deg, #f2fbf5 0%, #fcfffd 100%);
  border-color: #95c79f;
}

.event-own-summary__kicker {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #925200;
}

.event-own-summary__title {
  margin: 0;
  font-size: 1rem;
  color: #2f2f2f;
}

.event-own-summary__text {
  margin: 0.16rem 0 0;
  color: #4d4a47;
  font-size: 0.8rem;
  line-height: 1.35;
}

.event-own-banner {
  border: 1px solid rgba(151, 121, 61, 0.38);
  border-radius: 11px;
  background: rgba(255, 251, 241, 0.85);
  padding: 0.64rem 0.68rem;
  margin-top: 0.42rem;
}

.event-own-banner__kicker {
  margin: 0;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #855008;
}

.event-own-banner__text {
  margin: 0.2rem 0 0;
  font-size: 0.78rem;
  color: #4b4a47;
  line-height: 1.35;
}

.event-own-banner--action {
  border-color: #d6a548;
  background: linear-gradient(150deg, #fff1ca 0%, #fffaf0 100%);
}

.event-own-banner--processing {
  border-color: #8eb5c8;
  background: linear-gradient(150deg, #e8f5fb 0%, #f5fbff 100%);
}

.event-own-banner--blocked {
  border-color: #d18f78;
  background: linear-gradient(150deg, #ffe4db 0%, #fff5f2 100%);
}

.event-own-banner--stable {
  border-color: #a8c4ac;
  background: linear-gradient(150deg, #edf8ef 0%, #f8fcf8 100%);
}

.event-counterparty-banner {
  border: 1px solid rgba(74, 107, 143, 0.42);
  border-radius: 12px;
  background: linear-gradient(150deg, #edf7ff 0%, #f8fcff 100%);
  padding: 0.72rem;
  margin-top: 0.46rem;
}

.event-counterparty-banner__kicker {
  margin: 0;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #275a88;
}

.event-counterparty-banner__title {
  margin: 0.18rem 0 0;
  font-size: 0.86rem;
  font-weight: 700;
  color: #1f3550;
}

.event-counterparty-banner__text {
  margin: 0.25rem 0 0;
  color: #33526f;
  font-size: 0.78rem;
  line-height: 1.38;
}

.event-counterparty-banner--waiting {
  border-color: #d09d53;
  background: linear-gradient(150deg, #fff4d8 0%, #fffaf0 100%);
}

.event-counterparty-banner--waiting .event-counterparty-banner__kicker {
  color: #8f5300;
}

.event-counterparty-banner--waiting .event-counterparty-banner__title {
  color: #5c3a00;
}

.event-counterparty-banner--waiting .event-counterparty-banner__text {
  color: #6e4f17;
}

.event-counterparty-banner--registered {
  border-color: #5d9dc6;
  background: linear-gradient(150deg, #e6f4fd 0%, #f4fbff 100%);
}

.market-card.account-entry-card {
  padding: 0;
  gap: 0;
  overflow: hidden;
  height: 100%;
}

.account-entry-card__image {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: linear-gradient(135deg, #f4dfd1 0%, #d4ebdc 100%);
}

.account-entry-card__content {
  padding: 0.9rem;
  display: flex;
  flex-direction: column;
  gap: 0.34rem;
  min-height: 0;
  flex: 1 1 auto;
}

.listing-card-lite {
  display: grid;
  gap: 0.75rem;
}

.listing-card-lite__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
}

.action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  justify-content: flex-start;
}

.action-row .mini-note {
  flex: 1 1 100%;
  margin-top: 0.12rem;
}

.action-row .btn {
  min-width: 8.6rem;
}

.listing-journey-shell .action-row,
.listing-owner-note .action-row {
  align-items: stretch;
}

.listing-journey-shell .action-row .btn,
.listing-owner-note .action-row .btn {
  flex: 1 1 12.5rem;
  min-width: 12.5rem;
  min-height: 2.85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  white-space: normal;
}

.account-entry-actions {
  margin-top: auto;
  padding-top: 0.24rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0.5rem;
  align-items: stretch;
}

.account-entry-actions .btn {
  min-width: 0;
  width: 100%;
}

.seller-action-summary {
  border: 1px solid rgba(214, 165, 72, 0.42);
  border-radius: 12px;
  background: linear-gradient(155deg, #fffaf0 0%, #f4fbf7 100%);
  padding: 0.7rem;
}

.seller-action-banner {
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.74);
  padding: 0.45rem 0.55rem;
}

#accountListingsList.events-grid,
#accountPurchaseAttemptsList.events-grid {
  grid-auto-rows: 1fr;
}

.account-purchase-card .mini-note {
  line-height: 1.35;
}

.ticket-delivery-form {
  border: 1px solid rgba(214, 165, 72, 0.45);
  border-radius: 12px;
  background: linear-gradient(145deg, #fffaf0 0%, #f4fbf7 100%);
  padding: 0.75rem;
  margin-top: 0.55rem;
}

.ticket-delivery-form .form-control {
  border-color: rgba(58, 58, 58, 0.18);
  background: #fff;
}

.ticket-delivery-form .form-control:focus {
  border-color: rgba(243, 124, 108, 0.66);
  box-shadow: 0 0 0 0.16rem rgba(243, 124, 108, 0.2);
}

.ticket-delivery-form .alert {
  background: rgba(255, 255, 255, 0.74);
}

.market-card > .action-row:last-child {
  margin-top: auto;
  padding-top: 0.24rem;
}

.wanting-toggle-shell {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 245, 240, 0.96) 100%);
  padding: 0.92rem;
  box-shadow: var(--shadow-card);
}

.event-action-strip__top {
  display: flex;
  align-items: stretch;
  gap: 0.62rem;
}

.event-action-strip__top .wanting-toggle-shell {
  flex: 1 1 auto;
}

.event-action-strip__buttons {
  display: grid;
  gap: 0.42rem;
  align-content: start;
  min-width: 210px;
}

.event-action-strip__buttons .btn {
  width: 100%;
  min-height: 2.35rem;
}

.event-split-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.event-split-card.is-journey-focus {
  border-color: rgba(79, 127, 105, 0.34);
  box-shadow: 0 18px 34px rgba(41, 68, 57, 0.12);
  transform: translateY(-1px);
}

.event-selling-section #eventSellingList {
  flex: 1 1 auto;
}

.event-selling-section .btn.is-journey-focus,
.listing-purchase-panel.is-journey-focus {
  box-shadow: 0 0 0 0.24rem rgba(99, 148, 123, 0.22);
}

.event-pwl-actions {
  display: grid;
  gap: 0.45rem;
}

.pwl-sell-cta {
  min-height: 3.35rem;
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.25;
  border-width: 1px;
  box-shadow: 0 9px 20px rgba(58, 58, 58, 0.12);
}

.pwl-sell-cta:disabled {
  box-shadow: none;
}

.pwl-priority-card {
  border: 1px solid rgba(58, 58, 58, 0.12);
  border-radius: 13px;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.98) 0%, rgba(242, 248, 244, 0.98) 100%);
  padding: 0.68rem 0.72rem;
}

.pwl-priority-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.32rem;
}

.pwl-priority-card__tag {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(79, 127, 105, 0.3);
  border-radius: 999px;
  padding: 0.1rem 0.5rem;
  font-size: 0.68rem;
  font-weight: 800;
  color: #476f5c;
  background: rgba(233, 246, 238, 0.92);
}

.pwl-priority-card__availability {
  font-size: 0.72rem;
  font-weight: 700;
  color: #5f5b56;
}

.pwl-sold-momentum {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 0.52rem;
  border: 1px solid rgba(79, 127, 105, 0.3);
  border-radius: 10px;
  background: linear-gradient(160deg, #f5fbf7 0%, #edf6f0 100%);
  padding: 0.44rem 0.6rem;
  margin: 0.1rem 0 0.45rem;
}

.pwl-sold-momentum__number {
  font-size: clamp(2.8rem, 8vw, 4.4rem);
  line-height: 1;
  font-weight: 900;
  color: #325845;
}

.pwl-sold-momentum__label {
  font-size: 0.78rem;
  font-weight: 800;
  color: #4f6156;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  line-height: 1.25;
}

.pwl-priority-card__title {
  font-size: 0.86rem;
  font-weight: 800;
  color: #3f3c39;
}

.pwl-slot-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.4rem;
  margin-bottom: 0.45rem;
}

.pwl-slot-item {
  margin: 0;
}

.pwl-slot-card {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  text-decoration: none;
  border: 1px solid rgba(58, 58, 58, 0.14);
  border-radius: 10px;
  padding: 0.42rem 0.45rem;
  background: rgba(255, 255, 255, 0.88);
  min-height: 3rem;
  color: var(--text);
}

.pwl-slot-card:hover,
.pwl-slot-card:focus-visible {
  color: var(--text);
  text-decoration: none;
}

.pwl-slot-card.is-occupied {
  border-color: rgba(79, 127, 105, 0.36);
  background: linear-gradient(160deg, #f4faf6 0%, #eaf4ee 100%);
}

.pwl-slot-card.is-available {
  border-style: dashed;
  background: linear-gradient(160deg, #ffffff 0%, #f6f4f1 100%);
}

.pwl-slot-card--button {
  cursor: pointer;
}

.pwl-slot-card--button:hover,
.pwl-slot-card--button:focus-visible {
  border-color: rgba(223, 102, 86, 0.38);
  box-shadow: 0 6px 14px rgba(58, 58, 58, 0.08);
  transform: translateY(-1px);
}

.pwl-slot-card__title {
  font-size: 0.72rem;
  font-weight: 800;
  color: #4e4b48;
}

.pwl-slot-card__meta {
  font-size: 0.7rem;
  color: #6a655f;
  line-height: 1.25;
  margin-top: 0.14rem;
}

.pwl-form-rule-card {
  border: 1px solid rgba(58, 58, 58, 0.14);
  border-radius: 12px;
  background: linear-gradient(160deg, #fffdfb 0%, #f4f8f5 100%);
  padding: 0.65rem 0.72rem;
}

.pwl-form-rule-card__title {
  font-size: 0.82rem;
  font-weight: 800;
  color: #4b4946;
}

.pwl-price-overview {
  border: 1px solid rgba(58, 58, 58, 0.14);
  border-radius: 10px;
  background: #fffcf7;
  overflow: hidden;
}

.pwl-price-overview__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.7rem;
  padding: 0.42rem 0.58rem;
  font-size: 0.74rem;
  color: #4b4946;
  border-bottom: 1px solid rgba(58, 58, 58, 0.11);
}

.pwl-price-overview__row:last-child {
  border-bottom: 0;
}

.pwl-price-overview__label {
  color: #6a655f;
  line-height: 1.2;
}

.pwl-price-overview__row strong {
  color: #2f2d2b;
  font-weight: 800;
}

.pwl-price-overview__row--highlight {
  background: rgba(126, 176, 145, 0.16);
}

.pwl-price-overview__row--total {
  background: rgba(222, 208, 171, 0.28);
}

.wanting-toggle {
  --toggle-off-track-border: rgba(58, 58, 58, 0.24);
  --toggle-off-track-bg: linear-gradient(145deg, #eceae5 0%, #ddd8cf 100%);
  --toggle-off-thumb-bg: linear-gradient(160deg, #ffffff 0%, #f7f7f2 100%);
  --toggle-on-track-border: rgba(79, 127, 105, 0.55);
  --toggle-on-track-bg: linear-gradient(145deg, #98ccb0 0%, #6ea889 100%);
  --toggle-on-thumb-bg: linear-gradient(150deg, #ffffff 0%, #ebfff1 100%);
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.72rem;
  text-align: left;
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  padding: 0.62rem 0.72rem;
  background: linear-gradient(140deg, #ffffff 0%, #f8f6f2 100%);
  color: var(--text);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 5px 14px rgba(58, 58, 58, 0.08);
  transition: border-color 0.34s cubic-bezier(0.22, 1, 0.36, 1), background 0.34s cubic-bezier(0.22, 1, 0.36, 1), color 0.34s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.34s cubic-bezier(0.22, 1, 0.36, 1), transform 0.2s ease;
  cursor: pointer;
}

.wanting-toggle__switch {
  position: relative;
  flex: 0 0 auto;
  width: 54px;
  height: 30px;
  border-radius: 999px;
  border: 1px solid var(--toggle-off-track-border);
  background: var(--toggle-off-track-bg);
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.45), inset 0 -1px 2px rgba(102, 67, 5, 0.2);
  transition: border-color 0.34s cubic-bezier(0.22, 1, 0.36, 1), background 0.34s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.34s cubic-bezier(0.22, 1, 0.36, 1);
}

.wanting-toggle__thumb {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--toggle-off-thumb-bg);
  box-shadow: 0 2px 7px rgba(31, 29, 27, 0.26);
  transition: transform 0.38s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.28s ease, background 0.28s ease;
}

.wanting-toggle__thumb::after {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 2px solid rgba(67, 160, 112, 0.45);
  opacity: 0;
  transform: scale(0.65);
}

.wanting-toggle__copy {
  min-width: 0;
  display: grid;
  gap: 0.08rem;
}

.wanting-toggle__title {
  display: block;
  font-size: 0.95rem;
  line-height: 1.2;
  font-weight: 800;
}

.wanting-toggle__hint {
  display: block;
  font-size: 0.72rem;
  color: var(--muted);
  transition: color 0.34s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.22s ease;
}

.wanting-toggle:hover,
.wanting-toggle:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(223, 102, 86, 0.35);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 9px 20px rgba(58, 58, 58, 0.11);
}

.wanting-toggle:focus-visible {
  outline: 2px solid rgba(243, 124, 108, 0.28);
  outline-offset: 1px;
}

.wanting-toggle:active {
  transform: translateY(0);
}

.wanting-toggle.is-active {
  border-color: rgba(79, 127, 105, 0.36);
  background: linear-gradient(140deg, #f1f8f3 0%, #e2f0e6 100%);
  color: #2b5842;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 7px 18px rgba(58, 58, 58, 0.1);
}

.wanting-toggle.is-active .wanting-toggle__switch {
  border-color: var(--toggle-on-track-border);
  background: var(--toggle-on-track-bg);
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.45), inset 0 -1px 2px rgba(11, 80, 48, 0.2);
}

.wanting-toggle.is-active .wanting-toggle__thumb {
  transform: translateX(24px);
  background: var(--toggle-on-thumb-bg);
  box-shadow: 0 3px 8px rgba(20, 96, 59, 0.3);
}

.wanting-toggle.is-active .wanting-toggle__thumb::after {
  animation: wanting-toggle-ring 0.56s ease-out;
}

.wanting-toggle.is-active .wanting-toggle__hint {
  color: rgba(43, 88, 66, 0.9);
}

.wanting-toggle.is-pending {
  cursor: wait;
  opacity: 0.86;
}

.wanting-toggle.is-pending .wanting-toggle__switch::after {
  content: "";
  position: absolute;
  top: 7px;
  left: 19px;
  width: 12px;
  height: 12px;
  border: 2px solid rgba(255, 255, 255, 0.72);
  border-top-color: transparent;
  border-radius: 50%;
  animation: wanting-toggle-spin 0.62s linear infinite;
}

.wanting-toggle-state {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  color: var(--muted);
  transition: color 0.3s ease;
}

.wanting-toggle-state:empty {
  display: none;
}

.wanting-toggle-state::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #9c968e;
  box-shadow: 0 0 0 0 rgba(156, 150, 142, 0.22);
  transition: background 0.3s ease, box-shadow 0.3s ease;
}

.wanting-toggle.is-active + .wanting-toggle-state {
  color: #517a63;
}

.wanting-toggle.is-active + .wanting-toggle-state::before {
  background: #6aa082;
  box-shadow: 0 0 0 5px rgba(106, 160, 130, 0.16);
}

.wanting-toggle-state.is-updated {
  animation: wanting-toggle-state-pop 0.24s ease;
}

@keyframes wanting-toggle-ring {
  0% {
    opacity: 0.55;
    transform: scale(0.65);
  }
  100% {
    opacity: 0;
    transform: scale(1.38);
  }
}

@keyframes wanting-toggle-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes wanting-toggle-state-pop {
  from {
    opacity: 0.5;
    transform: translateY(3px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .wanting-toggle,
  .wanting-toggle__switch,
  .wanting-toggle__thumb,
  .wanting-toggle__hint,
  .wanting-toggle-state,
  .wanting-toggle-state::before {
    transition: none !important;
  }

  .wanting-toggle.is-active .wanting-toggle__thumb::after,
  .wanting-toggle.is-pending .wanting-toggle__switch::after,
  .wanting-toggle-state.is-updated {
    animation: none !important;
  }
}

.event-trust-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.event-trust-chip {
  border: 1px solid rgba(58, 58, 58, 0.13);
  border-radius: 11px;
  background: linear-gradient(145deg, #fffaf6 0%, #f3fbf7 100%);
  padding: 0.52rem 0.6rem;
  font-size: 0.76rem;
  font-weight: 700;
  color: #4e4b49;
}

.event-create-benefits {
  margin: 0 0 0.58rem;
  padding-left: 1rem;
  color: #5a5a5a;
  font-size: 0.78rem;
  line-height: 1.35;
}

.event-create-benefits li + li {
  margin-top: 0.2rem;
}

.section-header--event-buying {
  align-items: flex-start;
}

.event-buying-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.48rem;
  flex-wrap: wrap;
  margin-left: auto;
}

.event-buying-actions .btn {
  white-space: nowrap;
}

.event-buying-info-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.32rem;
}

.event-buying-info-btn__icon {
  width: 1rem;
  height: 1rem;
  border-radius: 999px;
  border: 1px solid currentColor;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1;
}

.event-flow-modal .modal-body {
  padding-top: 0.9rem;
}

.event-flow-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
}

.event-flow-card {
  border: 1px solid rgba(58, 58, 58, 0.12);
  border-radius: 12px;
  background: linear-gradient(160deg, #ffffff 0%, #f7f4ef 100%);
  padding: 0.82rem 0.86rem;
}

.event-flow-card__kicker {
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #5a5a5a;
}

.mini-note {
  font-size: 0.78rem;
  color: var(--muted);
}

.account-hero {
  padding-top: 3.4rem;
  padding-bottom: 2.2rem;
  background: linear-gradient(125deg, #f9dfd1 0%, #fef4ed 38%, #d3ecdf 100%);
}

.account-main {
  padding-top: 1.8rem;
}

.account-hero-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 1rem;
  align-items: stretch;
}

.account-trustap-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--shadow-card);
  padding: 0.95rem;
}

.account-trustap-card h3 {
  margin: 0 0 0.45rem;
  font-size: 1rem;
}

.account-trustap-card p {
  margin: 0 0 0.5rem;
  font-size: 0.82rem;
  color: #4f4f4f;
}

.account-top-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 1rem;
  align-items: stretch;
}

.account-conversion-strip {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: linear-gradient(135deg, #fff9f4 0%, #ecf7f0 100%);
  box-shadow: var(--shadow-card);
  padding: 0.9rem 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.8rem;
}

.account-conversion-strip h2 {
  margin: 0;
  font-size: 1.02rem;
}

.account-conversion-strip p {
  margin: 0.3rem 0 0;
  font-size: 0.8rem;
  color: #5a5a5a;
}

.account-details-card {
  background: linear-gradient(180deg, #fff 0%, #fffcf9 100%);
}

.account-quick-actions-card {
  opacity: 0.36;
  border-style: dashed;
  filter: saturate(0.55);
  transition: opacity 0.18s ease;
}

.account-quick-actions-card:hover,
.account-quick-actions-card:focus-within {
  opacity: 0.58;
}

.account-quick-actions-card__header .section-title {
  font-size: 0.84rem;
}

.account-quick-actions-card__header .section-subtitle {
  font-size: 0.72rem;
  color: #7e7e7e;
}

.account-notification-toggle-shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
}

.account-notification-toggle-shell .form-check-input {
  cursor: pointer;
}

.account-notification-toggle-shell .form-check-input:disabled {
  cursor: not-allowed;
}

.account-delete-zone {
  border-top: 1px solid rgba(58, 58, 58, 0.08);
  padding-top: 0.55rem;
  display: flex;
  justify-content: flex-end;
}

.account-delete-zone__btn {
  font-size: 0.72rem;
  color: rgba(58, 58, 58, 0.58);
  padding: 0.08rem 0.2rem;
  text-decoration: none;
}

.account-delete-zone__btn:hover,
.account-delete-zone__btn:focus-visible {
  color: var(--danger);
  text-decoration: underline;
}

.account-details-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.account-detail-item {
  border: 1px solid rgba(58, 58, 58, 0.1);
  border-radius: 10px;
  background: #fff;
  padding: 0.56rem 0.62rem;
}

.account-detail-item > span {
  display: block;
  font-size: 0.72rem;
  color: var(--muted);
  margin-bottom: 0.2rem;
}

.account-detail-item > strong {
  display: block;
  font-size: 0.86rem;
  color: var(--text);
  line-height: 1.3;
  word-break: break-word;
}

.hidden {
  display: none !important;
}

.home-filters-toggle {
  display: none;
}

@media (max-width: 992px) {
  .section-header {
    align-items: start;
    flex-direction: column;
  }

  .event-buying-actions {
    margin-left: 0;
    justify-content: flex-start;
    width: 100%;
  }

  .home-filters-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .event-request-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .event-trust-strip {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .hero {
    padding: 2.7rem 0 1.6rem;
  }

  .hero > .container {
    display: grid;
    gap: 0.95rem;
  }

  .hero h1 {
    font-size: 2rem;
    line-height: 1.05;
    max-width: 12ch;
    margin-bottom: 0.25rem;
  }

  .hero > .container > p {
    max-width: 36ch;
    margin-bottom: 0;
  }

  .hero-proof-row {
    gap: 0.4rem;
  }

  .hero-proof-pill {
    font-size: 0.7rem;
    padding: 0.34rem 0.56rem;
  }

  .search-workbench {
    padding: 0.62rem;
  }

  .home-filters {
    padding: 0.58rem;
  }

  .home-filters-topline__actions {
    display: flex;
    width: 100%;
    gap: 0.55rem;
  }

  .home-filters-topline__actions .btn {
    flex: 1 1 0;
  }

  .home-filters-toggle {
    display: inline-flex;
    justify-content: center;
  }

  .home-filters-body.hidden {
    display: none;
  }

  .idkollen-spotlight__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
    padding: 0.85rem 0.95rem;
  }

  .idkollen-spotlight h2 {
    font-size: 1rem;
    margin-bottom: 0.2rem;
  }

  .idkollen-spotlight p {
    font-size: 0.84rem;
    line-height: 1.45;
  }

  .account-hero-grid,
  .account-top-grid {
    grid-template-columns: 1fr;
  }

  .hero-market-pulse__grid {
    grid-template-columns: 1fr;
  }

  .account-details-grid {
    grid-template-columns: 1fr;
  }

  .ticket-stats {
    gap: 0.35rem;
  }

  .event-buying-actions {
    width: 100%;
    margin-left: 0;
    justify-content: flex-start;
  }

  .event-buying-actions .btn {
    width: 100%;
    white-space: normal;
  }

  .event-flow-grid {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .event-flow-card {
    padding: 0.76rem 0.78rem;
  }

  .event-image-loading {
    font-size: 0.72rem;
    gap: 0.38rem;
  }

  .event-image-loading-spinner {
    width: 0.82rem;
    height: 0.82rem;
  }

  .market-card,
  .wanting-toggle-shell {
    padding: 0.78rem;
  }

  .event-action-strip__top {
    flex-direction: column;
  }

  .event-action-strip__buttons {
    min-width: 0;
    width: 100%;
    grid-template-columns: 1fr 1fr;
  }

  .event-action-strip__buttons .btn {
    min-height: 2.1rem;
  }

  .listing-page-shell {
    padding-bottom: 12.4rem;
  }

  .listing-purchase-panel {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1040;
    margin: 0;
    padding: 0.72rem 0.86rem calc(0.72rem + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(58, 58, 58, 0.16);
    border-right: 0;
    border-left: 0;
    border-bottom: 0;
    border-radius: 14px 14px 0 0;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 -14px 32px rgba(30, 30, 30, 0.16);
    backdrop-filter: blur(8px);
  }

  .listing-purchase-panel__summary {
    gap: 0.16rem;
  }

  .listing-purchase-panel__row {
    font-size: 0.76rem;
  }

  .listing-purchase-panel__row--total {
    font-size: 0.85rem;
  }

  .listing-purchase-panel__terms {
    font-size: 0.72rem;
  }

  .action-row .btn {
    min-width: 0;
  }

  .listing-journey-shell .action-row .btn,
  .listing-owner-note .action-row .btn {
    flex-basis: 100%;
    min-width: 0;
    width: 100%;
  }

  .listing-share-page {
    flex-direction: column;
    align-items: flex-start;
  }

  .listing-share-page__button {
    width: 100%;
    min-width: 0;
  }

  .account-entry-actions {
    gap: 0.45rem;
  }

  .home-filters-grid {
    grid-template-columns: 1fr;
  }

  .home-filters-topline {
    align-items: flex-start;
    flex-direction: column;
  }

  .event-request-grid {
    grid-template-columns: 1fr;
  }

  .event-request-actions {
    justify-content: flex-start;
  }

  .event-request-actions .btn {
    min-width: 0;
  }

  .hero-cta-row {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .hero-cta-row .btn {
    width: 100%;
    min-width: 0;
  }

  .home-list-footer {
    flex-direction: column;
    align-items: flex-start;
  }

  .event-request-shell {
    padding-top: 0.2rem;
  }

  .event-request-toggle {
    width: 100%;
    justify-content: center;
  }

  .events-grid .event-card {
    min-height: 0;
  }

  .account-conversion-strip {
    flex-direction: column;
    align-items: flex-start;
  }

  .account-delete-zone {
    justify-content: flex-start;
  }

  .share-platform-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bankid-qr-canvas {
    width: min(70vw, 200px);
    height: min(70vw, 200px);
  }

  .auth-modal .modal-dialog {
    margin: 0.75rem;
  }

  .auth-choice-btn {
    min-height: 2.86rem;
    padding: 0.58rem 0.7rem;
    font-size: 0.9rem;
  }

  .auth-email-panel {
    padding: 0.62rem;
  }
}
