:root {
  color-scheme: dark;

  --hs-black: #000000;
  --hs-black-soft: #0a0005;
  --hs-surface: #140009;
  --hs-surface-hover: #1a000d;
  --hs-white: #ffffff;
  --hs-white-muted: rgba(255, 255, 255, 0.72);
  --hs-white-faint: rgba(255, 255, 255, 0.12);
  --hs-pink: #ff0077;
  --hs-pink-hover: #ff4d9e;
  --hs-pink-muted: rgba(255, 0, 119, 0.35);
  --hs-green: #adfb37;
}

html,
body {
  background-color: var(--hs-black) !important;
  color: var(--hs-white) !important;
}

body,
main,
main .container,
main .container-fluid {
  color: var(--hs-white);
}

::selection {
  background-color: var(--hs-pink);
  color: var(--hs-black);
}

h1,
h2,
h3,
h4,
h5,
h6,
.text-dark {
  color: var(--hs-white) !important;
}

.text-secondary {
  color: var(--hs-white-muted) !important;
}

main a,
main a.text-dark,
main a.text-secondary {
  color: var(--hs-pink) !important;
}

main a:hover,
main a:focus-visible {
  color: var(--hs-pink-hover) !important;
}

header,
header > .container-fluid,
header .navbar,
.dropdown-menu {
  background-color: var(--hs-black) !important;
  color: var(--hs-white) !important;
}

header > .container-fluid {
  box-shadow: 0 1px 0 var(--hs-pink-muted) !important;
}

.navbar .nav-link,
.navbar .dropdown-item,
.navbar .dropdown-toggle {
  color: var(--hs-white) !important;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus-visible,
.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus,
.navbar .dropdown-toggle:hover {
  background-color: var(--hs-surface) !important;
  color: var(--hs-pink) !important;
}

.navbar-brand img,
img.navbar-brand-item {
  filter: grayscale(1) brightness(0) invert(1);
}

.navbar-toggler {
  border-color: var(--hs-pink) !important;
}

.navbar-toggler-icon {
  filter: invert(18%) sepia(98%) saturate(7490%) hue-rotate(327deg)
    brightness(101%) contrast(112%);
}

.btn-success2 {
  background-color: transparent !important;
  border-color: var(--hs-pink) !important;
  color: var(--hs-pink) !important;
}

.btn-success2:hover,
.btn-success2:focus-visible,
.btn-success2.active {
  background-color: var(--hs-pink) !important;
  border-color: var(--hs-pink) !important;
  color: var(--hs-black) !important;
}

/* Event information ------------------------------------------------------- */

main .bi-calendar,
main .bi-geo-alt,
main .bi-info-circle,
main .b1-3 {
  color: var(--hs-pink) !important;
}

.accordion-item,
.accordion-button,
.accordion-collapse,
.accordion-body,
.accordion .bg-white {
  background-color: var(--hs-surface) !important;
  color: var(--hs-white) !important;
}

.accordion-button {
  box-shadow: 0 0 0 1px var(--hs-pink-muted) !important;
}

.accordion-button:not(.collapsed),
.accordion-button:hover {
  background-color: var(--hs-surface-hover) !important;
  color: var(--hs-pink) !important;
}

.accordion-button::after {
  filter: brightness(0) invert(1);
}

/* Tickets and quantity controls ------------------------------------------ */

.list1,
.list-group-item.list1 {
  background-color: var(--hs-surface) !important;
  color: var(--hs-white) !important;
  box-shadow: inset 0 0 0 1px var(--hs-white-faint);
}

.list1:hover {
  background-color: var(--hs-surface-hover) !important;
  box-shadow: inset 0 0 0 1px var(--hs-pink-muted);
}

.list1 .text3,
.list1 .text-info4 {
  color: var(--hs-pink) !important;
}

.list1 .input-group {
  background-color: var(--hs-black) !important;
  border-color: var(--hs-pink) !important;
}

.list1 .input-group-text {
  background-color: var(--hs-black) !important;
  color: var(--hs-white) !important;
}

.list1 input[type="submit"].btn {
  background-color: transparent !important;
  border-color: transparent !important;
  color: var(--hs-pink) !important;
}

.list1 input[type="submit"].btn:hover,
.list1 input[type="submit"].btn:focus-visible {
  background-color: var(--hs-pink) !important;
  color: var(--hs-black) !important;
}

/* Buttons, cart and form controls ---------------------------------------- */

.btn-primary,
.btn-info,
.btn-success,
#shopping_cart a.btn:not(.btn-close),
#shopping_cart button.btn:not(.btn-close),
#shopping_cart input.btn:not(.btn-close) {
  background-color: var(--hs-pink) !important;
  border-color: var(--hs-pink) !important;
  color: var(--hs-black) !important;
}

.btn-primary:hover,
.btn-primary:focus-visible,
.btn-info:hover,
.btn-info:focus-visible,
.btn-success:hover,
.btn-success:focus-visible,
#shopping_cart a.btn:not(.btn-close):hover,
#shopping_cart a.btn:not(.btn-close):focus-visible,
#shopping_cart button.btn:not(.btn-close):hover,
#shopping_cart button.btn:not(.btn-close):focus-visible,
#shopping_cart input.btn:not(.btn-close):hover,
#shopping_cart input.btn:not(.btn-close):focus-visible {
  background-color: var(--hs-pink-hover) !important;
  border-color: var(--hs-pink-hover) !important;
  color: var(--hs-black) !important;
}

.form-control,
.form-select,
.modal-content,
.offcanvas,
.card {
  background-color: var(--hs-surface) !important;
  border-color: var(--hs-white-faint) !important;
  color: var(--hs-white) !important;
}

.form-control::placeholder {
  color: var(--hs-white-muted) !important;
}

.form-control:focus,
.form-select:focus,
.btn:focus-visible,
a:focus-visible {
  border-color: var(--hs-green) !important;
  box-shadow: 0 0 0 0.2rem rgba(173, 251, 55, 0.28) !important;
  outline: 1px solid transparent;
}

.alert-success {
  background-color: var(--hs-black-soft) !important;
  border-color: var(--hs-green) !important;
  color: var(--hs-green) !important;
}

/* Sticky shopping cart (inserted dynamically by Turbo) ------------------- */

#shopping_cart > .row,
#shopping_cart .bg-white {
  background-color: var(--hs-black-soft) !important;
  border-color: var(--hs-pink) !important;
  color: var(--hs-white) !important;
  box-shadow: 0 -8px 28px rgba(255, 0, 119, 0.14);
}

#shopping_cart .bg-secondary-subtle,
#shopping_cart #accordionCart .accordion-item,
#shopping_cart #accordionCart .accordion-body {
  background-color: var(--hs-surface) !important;
  color: var(--hs-white) !important;
}

#shopping_cart .text-success2,
#shopping_cart #headingCart .btn {
  color: var(--hs-pink) !important;
}

#shopping_cart #headingCart .btn:hover,
#shopping_cart #headingCart .btn:focus-visible,
#shopping_cart #headingCart .btn[aria-expanded="true"] {
  background-color: var(--hs-surface-hover) !important;
  color: var(--hs-pink-hover) !important;
}

#shopping_cart .border-primary-subtle {
  border-color: var(--hs-pink) !important;
}

#shopping_cart .btn-light {
  background-color: var(--hs-pink) !important;
  border-color: var(--hs-pink) !important;
  color: var(--hs-black) !important;
}

.btn:disabled,
.btn.disabled,
fieldset:disabled .btn {
  background-color: var(--hs-surface) !important;
  border-color: var(--hs-white-faint) !important;
  color: var(--hs-white-muted) !important;
  opacity: 0.65;
}

/* Recommendation cards --------------------------------------------------- */

.card,
.card-body,
.card-footer {
  background-color: var(--hs-surface) !important;
  color: var(--hs-white) !important;
}

.card-footer {
  border-top-color: var(--hs-white-faint) !important;
}

.card:hover {
  box-shadow: 0 0 0 1px var(--hs-pink-muted) !important;
}

/* Footer ------------------------------------------------------------------ */

footer,
footer.bg-light {
  background-color: var(--hs-black-soft) !important;
  color: var(--hs-white-muted) !important;
}

footer .nav-link2 a,
footer a {
  color: var(--hs-white-muted) !important;
}

footer .nav-link2 a:hover,
footer a:hover,
footer a:focus-visible {
  color: var(--hs-pink) !important;
}

footer > .container {
  border-top: 1px solid var(--hs-pink-muted);
}

/* Native controls and browser autofill ----------------------------------- */

input,
select,
textarea {
  accent-color: var(--hs-pink);
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--hs-white);
  box-shadow: 0 0 0 1000px var(--hs-surface) inset !important;
}
.text-info {
  --bs-text-opacity: 1;
  color: rgba(var(--hs-pink), var(--bs-text-opacity)) !important;
}
