/* Loaded after platformstyles — keep Crazy World buttons black/white */
:root {
  --bs-primary: #111111;
  --bs-primary-rgb: 17, 17, 17;
  --bs-focus-ring-color: rgba(17, 17, 17, 0.25);
  --bs-form-check-bg: #ffffff;
}

#echo-house-attendee .btn-primary:not(:disabled):not(.disabled),
#echo-house-attendee a.btn-primary:not(:disabled):not(.disabled),
#echo-house-attendee .btn.btn-primary:not(:disabled):not(.disabled),
#crazy-world .btn-primary:not(:disabled):not(.disabled),
#crazy-world a.btn-primary:not(:disabled):not(.disabled),
#crazy-world .btn.btn-primary:not(:disabled):not(.disabled),
.crazy-world .btn-primary:not(:disabled):not(.disabled),
#echo-house-attendee #crazy-world .btn-primary:not(:disabled):not(.disabled),
#echo-house-attendee #crazy-world a.btn.btn-primary:not(:disabled):not(.disabled),
#echo-house-attendee .btn-orange:not(:disabled):not(.disabled),
#crazy-world .btn-orange:not(:disabled):not(.disabled) {
  background: #111111 !important;
  background-color: #111111 !important;
  border-color: #111111 !important;
  color: #ffffff !important;
}

/* Must match platformstyles specificity: #echo-house-attendee .btn.btn-primary:hover */
#echo-house-attendee .btn-primary:not(:disabled):not(.disabled):hover,
#echo-house-attendee .btn-primary:not(:disabled):not(.disabled):active,
#echo-house-attendee .btn-primary:not(:disabled):not(.disabled):focus,
#echo-house-attendee a.btn-primary:not(:disabled):not(.disabled):hover,
#echo-house-attendee .btn.btn-primary:not(:disabled):not(.disabled):hover,
#echo-house-attendee .btn.btn-primary:not(:disabled):not(.disabled):active,
#echo-house-attendee .btn.btn-primary:not(:disabled):not(.disabled):focus,
#crazy-world .btn-primary:not(:disabled):not(.disabled):hover,
#crazy-world .btn.btn-primary:not(:disabled):not(.disabled):hover,
#crazy-world .btn.btn-primary:not(:disabled):not(.disabled):active,
#crazy-world .btn.btn-primary:not(:disabled):not(.disabled):focus,
#echo-house-attendee #crazy-world .btn.btn-primary:not(:disabled):not(.disabled):hover,
#echo-house-attendee .btn.btn-orange:not(:disabled):not(.disabled):hover,
#echo-house-attendee .btn.btn-orange:not(:disabled):not(.disabled):active,
#echo-house-attendee .btn.btn-orange:not(:disabled):not(.disabled):focus {
  background: #1a1a1a !important;
  background-color: #1a1a1a !important;
  border-color: #1a1a1a !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
}

#echo-house-attendee .btn-primary:disabled,
#echo-house-attendee .btn-primary.disabled,
#echo-house-attendee .btn.btn-primary:disabled,
#echo-house-attendee .btn.btn-primary.disabled,
#echo-house-attendee .btn.btn-primary:disabled:hover,
#echo-house-attendee .btn.btn-primary.disabled:hover,
#crazy-world .btn-primary:disabled,
#crazy-world .btn-primary.disabled,
#crazy-world .btn.btn-primary:disabled,
#crazy-world .btn.btn-primary.disabled,
.crazy-world .btn-primary:disabled,
.crazy-world .btn-primary.disabled,
#echo-house-attendee .btn-orange:disabled,
#echo-house-attendee .btn.btn-orange:disabled {
  background: #9a9a9a !important;
  background-color: #9a9a9a !important;
  border-color: #9a9a9a !important;
  color: #ffffff !important;
  opacity: 1 !important;
  pointer-events: none;
  box-shadow: none !important;
}

#echo-house-attendee .text-primary,
#crazy-world .text-primary,
.crazy-world .text-primary {
  color: #111111 !important;
}

#echo-house-attendee .bg-primary,
#crazy-world .bg-primary {
  background-color: #111111 !important;
}

/* Landing / cover pattern only */
#echo-house-attendee .tidal-pattern,
#echo-house-attendee .tidal-pattern-big,
#echo-house-attendee .tidal-pattern-small,
#crazy-world .tidal-pattern,
#crazy-world .tidal-pattern-big,
#crazy-world .tidal-pattern-small,
#echo-house-attendee .crazy-world-pattern,
.crazy-world-pattern {
  background-color: #111111 !important;
  background-image: url("/images/crazyworld-pattern.png") !important;
  background-repeat: repeat !important;
  background-size: 280px 280px !important;
}

/* My Tickets page shell — white, no pattern bleed */
#echo-house-attendee .bg-ticket,
.bg-ticket {
  background-color: #fff !important;
  background-image: none !important;
}

/* Ticket card strip + full ticket header — black pattern (parity with Tidal pink strip) */
#echo-house-attendee .ticketcard .ticket-color,
#echo-house-attendee .ticketcard.general-yellow .ticket-color,
#echo-house-attendee .ticketcard.general-green .ticket-color,
#echo-house-attendee .ticketcard.general-blue .ticket-color,
#echo-house-attendee .ticketcard.vip .ticket-color,
#echo-house-attendee .ticketcard.wildcard .ticket-color,
#echo-house-attendee .ticketcard.absa .ticket-color,
#echo-house-attendee .ticketcard.complimentary .ticket-color,
#echo-house-attendee #crazy-world .ticketBg,
#echo-house-attendee .long-ticket .ticketBg,
#crazy-world .ticketBg {
  background-color: #111111 !important;
  background-image: url("/images/crazyworld-pattern.png") !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center !important;
  border: none !important;
  box-shadow: none !important;
}

#echo-house-attendee .ticketcard .ticket-color img,
#echo-house-attendee #crazy-world .ticketBg img,
#crazy-world .ticketBg img {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Payment radios / borders — kill platformstyles purple/pink */
#echo-house-attendee .form-check-input,
#crazy-world .form-check-input,
.crazy-world .form-check-input {
  accent-color: #111111 !important;
  border-color: #cfcfcf !important;
  background-color: #ffffff !important;
}

#echo-house-attendee .form-check-input:checked,
#crazy-world .form-check-input:checked,
.crazy-world .form-check-input:checked {
  background-color: #111111 !important;
  border-color: #111111 !important;
}

/* Beat platformstyles #echo-house-attendee input[type=checkbox|radio]:checked purple */
#echo-house-attendee input[type="checkbox"],
#echo-house-attendee input[type="radio"],
#crazy-world input[type="checkbox"],
#crazy-world input[type="radio"] {
  accent-color: #111111 !important;
}

#echo-house-attendee input[type="checkbox"]:checked,
#echo-house-attendee input[type="radio"]:checked,
#echo-house-attendee .form-check-input:checked,
#echo-house-attendee .form-check-input:checked[type="checkbox"],
#echo-house-attendee .form-check-input:checked[type="radio"],
#crazy-world input[type="checkbox"]:checked,
#crazy-world input[type="radio"]:checked,
#crazy-world .form-check-input:checked {
  border-color: #111111 !important;
  background-color: #111111 !important;
  outline: 0 !important;
  box-shadow: none !important;
  accent-color: #111111 !important;
}

#echo-house-attendee input[type="checkbox"]:focus,
#echo-house-attendee input[type="radio"]:focus,
#echo-house-attendee .form-check-input:focus,
#crazy-world input[type="checkbox"]:focus,
#crazy-world input[type="radio"]:focus,
#crazy-world .form-check-input:focus {
  border-color: #111111 !important;
  outline: 0 !important;
  box-shadow: none !important;
  accent-color: #111111 !important;
}

#echo-house-attendee input[type="checkbox"]:focus:not(:checked),
#echo-house-attendee input[type="radio"]:focus:not(:checked),
#echo-house-attendee .form-check-input:focus:not(:checked) {
  background-color: #ffffff !important;
}

/* Keep white checkmark / radio dot on black fill */
#echo-house-attendee .form-check-input:checked[type="checkbox"],
#crazy-world .form-check-input:checked[type="checkbox"] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
  background-image: var(--bs-form-check-bg-image) !important;
}

#echo-house-attendee .form-check-input:checked[type="radio"],
#crazy-world .form-check-input:checked[type="radio"] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
  background-image: var(--bs-form-check-bg-image) !important;
}

#echo-house-attendee .form-check-input:focus,
#crazy-world .form-check-input:focus,
.crazy-world .form-check-input:focus,
#echo-house-attendee .form-control:focus,
#crazy-world .form-control:focus,
#echo-house-attendee .form-select:focus,
#crazy-world .form-select:focus {
  border-color: #111111 !important;
  box-shadow: none !important;
  outline: none !important;
}

#echo-house-attendee .accent-color,
#crazy-world .accent-color {
  accent-color: #111111 !important;
}

/* Kill platformstyles purple (#bd09c5) on all focused inputs */
#echo-house-attendee input:focus,
#echo-house-attendee select:focus,
#echo-house-attendee .input-group:focus-within {
  border-color: #111111 !important;
  box-shadow: none !important;
  outline: none !important;
}

/* vue-tel-input: focus only on outer wrapper (flag + number), never the inner input */
#echo-house-attendee .vue-tel-input,
#crazy-world .vue-tel-input {
  border: 1px solid #e6ecf0 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

#echo-house-attendee .vue-tel-input:focus-within,
#crazy-world .vue-tel-input:focus-within {
  border: 1px solid #111111 !important;
  box-shadow: none !important;
  outline: none !important;
}

#echo-house-attendee .vue-tel-input .vti__input,
#echo-house-attendee .vue-tel-input .vti__input:focus,
#echo-house-attendee .vue-tel-input .form-control,
#echo-house-attendee .vue-tel-input .form-control:focus,
#echo-house-attendee .vue-tel-input input,
#echo-house-attendee .vue-tel-input input:focus,
#crazy-world .vue-tel-input .vti__input,
#crazy-world .vue-tel-input .vti__input:focus,
#crazy-world .vue-tel-input .form-control,
#crazy-world .vue-tel-input .form-control:focus,
#crazy-world .vue-tel-input input,
#crazy-world .vue-tel-input input:focus {
  border: none !important;
  border-width: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  background-color: transparent !important;
}

/* Country dropdown search: full width + black focus (not purple) */
#echo-house-attendee .vti__dropdown-list,
#crazy-world .vti__dropdown-list {
  box-sizing: border-box !important;
}

#echo-house-attendee .vti__search_box,
#crazy-world .vti__search_box {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  box-sizing: border-box !important;
  border: 1px solid #cfcfcf !important;
  border-radius: 4px !important;
  outline: none !important;
  box-shadow: none !important;
}

#echo-house-attendee .vti__search_box:focus,
#echo-house-attendee .vti__search_box:focus-visible,
#echo-house-attendee input.vti__search_box:focus,
#crazy-world .vti__search_box:focus,
#crazy-world .vti__search_box:focus-visible,
#crazy-world input.vti__search_box:focus {
  border: 1px solid #111111 !important;
  box-shadow: none !important;
  outline: none !important;
  accent-color: #111111 !important;
}

#echo-house-attendee .checkout-accordion .card,
#echo-house-attendee .accordioncheckout-card,
#crazy-world .checkout-accordion .card {
  border-color: #efefef !important;
}

#echo-house-attendee .border-primary,
#crazy-world .border-primary,
#echo-house-attendee .border-pink,
#echo-house-attendee .border-purple,
#crazy-world .border-pink,
#crazy-world .border-purple {
  border-color: #111111 !important;
}

/* Ticket cards: hover = border only, no fill, black text */
#echo-house-attendee .ticketcard:hover,
#echo-house-attendee .ticketcard.active-lg,
#echo-house-attendee .ticketcard.active,
#crazy-world .ticketcard:hover {
  background-color: #ffffff !important;
  background-image: none !important;
  border: 1px solid #111111 !important;
  color: #111111 !important;
  box-shadow: none !important;
}

#echo-house-attendee .ticketcard:hover h6,
#echo-house-attendee .ticketcard:hover p,
#echo-house-attendee .ticketcard:hover .text-muted,
#echo-house-attendee .ticketcard:hover .text-primary,
#echo-house-attendee .ticketcard.active-lg h6,
#echo-house-attendee .ticketcard.active-lg p,
#echo-house-attendee .ticketcard.active-lg .text-muted,
#echo-house-attendee .ticketcard.active-lg .text-primary {
  color: #111111 !important;
}

/* Outline buttons: hover keeps transparent bg + black text (no fill) */
#echo-house-attendee .btn.btn-outline-primary:hover,
#echo-house-attendee .btn.btn-outline-primary:active,
#echo-house-attendee .btn.btn-outline-primary:focus,
#crazy-world .btn-outline-primary:hover {
  background-color: transparent !important;
  border-color: #111111 !important;
  color: #111111 !important;
}

/* Mobile bottom nav: beat platformstyles edge pinning — center Home + Tickets */
@media screen and (max-width: 991px) {
  #echo-house-attendee #nsa-nav.navbar ul,
  #echo-house-attendee #nsa-nav.navbar #menu-link,
  #echo-house-attendee #menu-link {
    justify-content: center !important;
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
    -ms-flex-pack: center !important;
    align-items: center !important;
    gap: 3.5rem !important;
    padding: 18px 24px !important;
  }

  #echo-house-attendee #nsa-nav.navbar.navbar ul li,
  #echo-house-attendee #nsa-nav.navbar.navbar ul li:first-child,
  #echo-house-attendee #nsa-nav.navbar.navbar ul li:nth-child(2),
  #echo-house-attendee #nsa-nav.navbar.navbar ul li:nth-child(3),
  #echo-house-attendee #menu-link > li {
    flex: 0 0 auto !important;
    -webkit-box-flex: 0 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    text-align: center !important;
    justify-content: center !important;
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
    -ms-flex-pack: center !important;
  }

  #echo-house-attendee #nsa-nav.navbar.navbar ul li a,
  #echo-house-attendee #menu-link .navlink {
    margin: 0 !important;
    padding: 4px 8px !important;
    align-items: center !important;
  }
}

/* Spinners — kill platformstyles purple */
#echo-house-attendee .spinner-border,
#echo-house-attendee .spinner-border.text-primary,
#echo-house-attendee .spinner-border.loader,
.spinner-border,
.spinner-border.text-primary,
.spinner-border.loader {
  color: #111111 !important;
  border-color: #111111 !important;
  border-right-color: transparent !important;
  background-color: transparent !important;
}

#echo-house-attendee .svg-spinner circle,
.svg-spinner circle {
  stroke: #111111 !important;
}

#echo-house-attendee .svg-spinner circle[stroke="white"],
#echo-house-attendee .btn-primary .svg-spinner circle,
#echo-house-attendee .btn.btn-primary .svg-spinner circle,
.svg-spinner circle[stroke="white"],
.btn-primary .svg-spinner circle,
.btn.btn-primary .svg-spinner circle {
  stroke: #ffffff !important;
}

#echo-house-attendee .svg-spinner circle[stroke="red"],
.svg-spinner circle[stroke="red"] {
  stroke: #dc3545 !important;
}
