/* ==========================================================================
   Hype Nagpur — legacy bridge
   --------------------------------------------------------------------------
   The old template's markup lives in ~59 views. Rather than rewrite them all
   at once, this file re-skins those legacy classes with the design tokens so
   every public page reads as one system.

   Everything here is scoped to `body.hn-theme-dark`, and every rule is a
   colour/surface correction — no layout, no spacing, no behaviour. As pages
   get rebuilt on `hn-` components, their rules can be deleted from here, and
   the file disappears when the last page is migrated.

   Load order: hype-ds.css (tokens) → this file.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Remap the legacy variables
   The old css routes most of its colour through these three, so redefining
   them fixes the bulk of the body copy in one move.
   -------------------------------------------------------------------------- */
body.hn-theme-dark {
  --base-color: #c8d0da;
  --heading-color: #ffffff;
  --light-color: #10131a;
}

/* --------------------------------------------------------------------------
   2. Page shell
   -------------------------------------------------------------------------- */
body.hn-theme-dark .page-wrapper {
  background: var(--hn-ink);
}

body.hn-theme-dark section,
body.hn-theme-dark .bg-lighter,
body.hn-theme-dark .bg-light,
body.hn-theme-dark .gray-bg,
body.hn-theme-dark .white-bg {
  background-color: transparent;
}

body.hn-theme-dark .bg-lighter,
body.hn-theme-dark .gray-bg {
  background-color: var(--hn-surface);
}

body.hn-theme-dark hr {
  border-color: var(--hn-line);
  opacity: 1;
}

/* the preloader sits over a dark page now */
body.hn-theme-dark .preloader,
body.hn-theme-dark .request-loader {
  background-color: var(--hn-ink) !important;
}

/* breadcrumb strip used by the shared partial (page banners themselves are
   switched off in the legacy css and stay that way) */
body.hn-theme-dark .page-title {
  color: var(--hn-text);
}

body.hn-theme-dark .page-title .title {
  font-family: var(--hn-font-display);
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

body.hn-theme-dark .breadcrumb-item a,
body.hn-theme-dark .breadcrumb-item.active,
body.hn-theme-dark .breadcrumb-item + .breadcrumb-item::before {
  color: var(--hn-muted);
  font-family: var(--hn-font-data);
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.hn-theme-dark .breadcrumb-item a:hover {
  color: var(--hn-accent-text);
}

/* --------------------------------------------------------------------------
   3. Type
   -------------------------------------------------------------------------- */
body.hn-theme-dark .section-title h2,
body.hn-theme-dark .widget-title,
body.hn-theme-dark .from-title {
  color: var(--hn-text);
  font-family: var(--hn-font-display);
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

body.hn-theme-dark .section-title p,
body.hn-theme-dark .text-muted {
  color: var(--hn-muted) !important;
}

body.hn-theme-dark a {
  color: inherit;
}

body.hn-theme-dark .content a:not([class]),
body.hn-theme-dark p a:not([class]) {
  color: var(--hn-accent-text);
}

/* legacy utility text colours that assume a light page */
body.hn-theme-dark .text-dark,
body.hn-theme-dark .text-black,
body.hn-theme-dark .text-secondary {
  color: var(--hn-text) !important;
}

body.hn-theme-dark .text-white {
  color: var(--hn-text) !important;
}

/* --------------------------------------------------------------------------
   4. Surfaces: sidebars, widgets, cards
   -------------------------------------------------------------------------- */
body.hn-theme-dark .sidebar,
body.hn-theme-dark .widget,
body.hn-theme-dark .card,
body.hn-theme-dark .event-item,
body.hn-theme-dark .blog-item,
body.hn-theme-dark .testimonial-item,
body.hn-theme-dark .feature-item,
body.hn-theme-dark .total-client-reviews,
body.hn-theme-dark .dashboard-item,
body.hn-theme-dark .checkout-product,
body.hn-theme-dark .billing_details_area {
  background: var(--hn-surface);
  border: 1px solid var(--hn-line);
  border-radius: var(--hn-r-lg);
  box-shadow: none;
  color: var(--hn-text);
}

/* widgets already sit inside a panelled sidebar — don't double-frame them */
body.hn-theme-dark .sidebar .widget,
body.hn-theme-dark .sidebar-widget-area .widget {
  background: transparent;
  border: 0;
  border-radius: 0;
}

body.hn-theme-dark .sidebar .widget:not(:last-child) {
  border-bottom: 1px solid var(--hn-line);
}

body.hn-theme-dark .card-header,
body.hn-theme-dark .card-footer {
  background: transparent;
  border-color: var(--hn-line);
}

/* --------------------------------------------------------------------------
   5. Buttons
   -------------------------------------------------------------------------- */
body.hn-theme-dark .theme-btn,
body.hn-theme-dark a.theme-btn,
body.hn-theme-dark .btn-primary,
body.hn-theme-dark .base-btn {
  background: var(--hn-accent);
  border: 1px solid var(--hn-accent);
  border-radius: var(--hn-r-pill);
  color: var(--hn-accent-ink);
  font-family: var(--hn-font-body);
  font-weight: 700;
}

body.hn-theme-dark .theme-btn:hover,
body.hn-theme-dark a.theme-btn:hover,
body.hn-theme-dark .btn-primary:hover,
body.hn-theme-dark .base-btn:hover {
  background: var(--hn-accent);
  border-color: var(--hn-accent-text);
  color: var(--hn-accent-ink);
  box-shadow: var(--hn-glow);
}

body.hn-theme-dark .btn-secondary,
body.hn-theme-dark .btn-outline-secondary,
body.hn-theme-dark .btn-light {
  background: transparent;
  border: 1px solid var(--hn-line-strong);
  border-radius: var(--hn-r-pill);
  color: var(--hn-text);
}

body.hn-theme-dark .btn-secondary:hover,
body.hn-theme-dark .btn-outline-secondary:hover,
body.hn-theme-dark .btn-light:hover {
  border-color: var(--hn-accent-text);
  color: var(--hn-accent-text);
}

/* the legacy bookmark / wishlist chip */
body.hn-theme-dark .wishlist-btn {
  background: rgba(7, 8, 12, 0.8);
  color: var(--hn-text);
}

/* --------------------------------------------------------------------------
   6. Forms
   -------------------------------------------------------------------------- */
body.hn-theme-dark .form-control,
body.hn-theme-dark .form_control,
body.hn-theme-dark input:not([type='checkbox']):not([type='radio']):not([type='submit']),
body.hn-theme-dark select,
body.hn-theme-dark textarea {
  background-color: var(--hn-surface-2);
  border: 1px solid var(--hn-line);
  border-radius: var(--hn-r-md);
  color: var(--hn-text);
  /* 16px stops ios zooming the viewport when a field takes focus */
  font-size: 16px;
}

body.hn-theme-dark .form-control:focus,
body.hn-theme-dark .form_control:focus,
body.hn-theme-dark input:focus,
body.hn-theme-dark select:focus,
body.hn-theme-dark textarea:focus {
  background-color: var(--hn-surface-2);
  border-color: var(--hn-accent-text);
  box-shadow: none;
  color: var(--hn-text);
  outline: 0;
}

body.hn-theme-dark ::placeholder {
  color: var(--hn-muted-dim);
  opacity: 1;
}

body.hn-theme-dark label {
  color: var(--hn-text);
}

body.hn-theme-dark option {
  background: var(--hn-surface);
  color: var(--hn-text);
}

body.hn-theme-dark .input-group-text,
body.hn-theme-dark .input-group-append .btn {
  background: var(--hn-surface-3);
  border-color: var(--hn-line);
  color: var(--hn-text);
}

/* third-party select widgets */
body.hn-theme-dark .nice-select,
body.hn-theme-dark .nice-select .list,
body.hn-theme-dark .select2-container--default .select2-selection--single,
body.hn-theme-dark .select2-dropdown,
body.hn-theme-dark .ui-selectmenu-button.ui-button,
body.hn-theme-dark .ui-menu,
body.hn-theme-dark .ui-widget-content {
  background: var(--hn-surface-2) !important;
  border-color: var(--hn-line) !important;
  color: var(--hn-text) !important;
}

body.hn-theme-dark .nice-select .option:hover,
body.hn-theme-dark .nice-select .option.selected,
body.hn-theme-dark .ui-menu .ui-menu-item-wrapper.ui-state-active,
body.hn-theme-dark .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: var(--hn-surface-3) !important;
  color: var(--hn-accent-text) !important;
}

body.hn-theme-dark .select2-container--default .select2-selection--single .select2-selection__rendered,
body.hn-theme-dark .ui-selectmenu-text {
  color: var(--hn-text) !important;
}

/* --------------------------------------------------------------------------
   7. Tables
   -------------------------------------------------------------------------- */
body.hn-theme-dark .table,
body.hn-theme-dark table.dataTable {
  color: var(--hn-text);
  border-color: var(--hn-line);
}

body.hn-theme-dark .table th,
body.hn-theme-dark .table td,
body.hn-theme-dark table.dataTable th,
body.hn-theme-dark table.dataTable td {
  border-color: var(--hn-line);
}

body.hn-theme-dark .table thead th,
body.hn-theme-dark table.dataTable thead th {
  background: var(--hn-surface-2);
  color: var(--hn-text);
  font-family: var(--hn-font-data);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.hn-theme-dark .table-striped tbody tr:nth-of-type(odd),
body.hn-theme-dark table.dataTable.stripe tbody tr.odd {
  background-color: rgba(255, 255, 255, 0.025);
}

body.hn-theme-dark .table-hover tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.045);
  color: var(--hn-text);
}

body.hn-theme-dark .dataTables_wrapper .dataTables_length,
body.hn-theme-dark .dataTables_wrapper .dataTables_filter,
body.hn-theme-dark .dataTables_wrapper .dataTables_info,
body.hn-theme-dark .dataTables_wrapper .dataTables_paginate,
body.hn-theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button {
  color: var(--hn-muted) !important;
}

/* --------------------------------------------------------------------------
   8. Pagination, tabs, accordions
   -------------------------------------------------------------------------- */
body.hn-theme-dark .page-link,
body.hn-theme-dark .pagination .page-link {
  background: var(--hn-surface-2);
  border-color: var(--hn-line);
  color: var(--hn-text);
}

body.hn-theme-dark .page-item.active .page-link {
  background: var(--hn-accent);
  border-color: var(--hn-accent-text);
  color: var(--hn-accent-ink);
}

body.hn-theme-dark .page-link:hover {
  background: var(--hn-surface-3);
  border-color: var(--hn-line-strong);
  color: var(--hn-accent-text);
}

body.hn-theme-dark .nav-tabs:not(.hn-tabs) {
  border-bottom-color: var(--hn-line);
}

body.hn-theme-dark .nav-tabs:not(.hn-tabs) .nav-link {
  background: transparent;
  border-color: transparent;
  color: var(--hn-muted);
}

body.hn-theme-dark .nav-tabs:not(.hn-tabs) .nav-link.active {
  background: var(--hn-surface);
  border-color: var(--hn-line);
  color: var(--hn-accent-text);
}

body.hn-theme-dark .accordion .card,
body.hn-theme-dark .accordion-item {
  background: var(--hn-surface);
  border-color: var(--hn-line);
}

/* --------------------------------------------------------------------------
   9. Alerts, badges, modals, toasts
   -------------------------------------------------------------------------- */
body.hn-theme-dark .alert {
  border-radius: var(--hn-r-md);
  border-width: 1px;
}

body.hn-theme-dark .alert-success {
  background: rgba(34, 176, 175, 0.12);
  border-color: var(--hn-accent-line);
  color: #7fe3e2;
}

body.hn-theme-dark .alert-danger {
  background: rgba(229, 72, 77, 0.12);
  border-color: rgba(229, 72, 77, 0.4);
  color: #ff9ea1;
}

body.hn-theme-dark .alert-warning {
  background: rgba(240, 175, 60, 0.12);
  border-color: rgba(240, 175, 60, 0.4);
  color: #f4c97b;
}

body.hn-theme-dark .alert-info {
  background: rgba(120, 160, 255, 0.12);
  border-color: rgba(120, 160, 255, 0.4);
  color: #b6c9ff;
}

body.hn-theme-dark .text-danger {
  color: #ff9ea1 !important;
}

body.hn-theme-dark .text-success {
  color: #7fe3e2 !important;
}

body.hn-theme-dark .badge {
  border-radius: var(--hn-r-sm);
  font-family: var(--hn-font-data);
  font-weight: 400;
}

body.hn-theme-dark .badge-success,
body.hn-theme-dark .bg-success {
  background: var(--hn-accent-soft) !important;
  color: var(--hn-accent-text) !important;
}

body.hn-theme-dark .modal-content,
body.hn-theme-dark .popup_main-content,
body.hn-theme-dark .mfp-content .white-bg {
  background: var(--hn-surface) !important;
  border: 1px solid var(--hn-line);
  border-radius: var(--hn-r-lg);
  color: var(--hn-text);
}

body.hn-theme-dark .modal-header,
body.hn-theme-dark .modal-footer {
  border-color: var(--hn-line);
}

body.hn-theme-dark .close,
body.hn-theme-dark .mfp-close-btn-in .mfp-close {
  color: var(--hn-text) !important;
  text-shadow: none;
  opacity: 0.8;
}

/* --------------------------------------------------------------------------
   10. Price / meta bits reused across listings
   -------------------------------------------------------------------------- */
body.hn-theme-dark .price,
body.hn-theme-dark .number {
  color: var(--hn-accent-text);
  font-family: var(--hn-font-data);
}

body.hn-theme-dark del,
body.hn-theme-dark .price del {
  color: var(--hn-muted-dim);
}

body.hn-theme-dark .time-info,
body.hn-theme-dark .event-content .time-info {
  background: var(--hn-surface-2) !important;
  color: var(--hn-muted);
}

body.hn-theme-dark .organizer,
body.hn-theme-dark .event-description {
  color: var(--hn-muted);
}

/* --------------------------------------------------------------------------
   11. Page-specific stylesheets (dashboard.css / slot.css / organizer.css)
   -------------------------------------------------------------------------- */
body.hn-theme-dark .dashboard-menu,
body.hn-theme-dark .dashboard-content,
body.hn-theme-dark .single-dashboard-item,
body.hn-theme-dark .dashboard-sidebar {
  background: var(--hn-surface);
  border: 1px solid var(--hn-line);
  border-radius: var(--hn-r-lg);
  color: var(--hn-text);
}

body.hn-theme-dark .organizer-content .social-style-two a {
  background: var(--hn-surface-2);
  color: var(--hn-text);
}

body.hn-theme-dark .organizer-content .social-style-two a:hover {
  background: var(--hn-accent);
  color: var(--hn-accent-ink);
}

/* The seating chart stays a light canvas on purpose: the seat states are
   drawn with their own colours and inverting the surface behind a booking
   critical control is not worth the risk. It's framed to look deliberate. */
body.hn-theme-dark .seat-map-wrapper {
  border: 1px solid var(--hn-line-strong);
  border-radius: var(--hn-r-md);
}

body.hn-theme-dark .seat_modal .close_2 {
  border-radius: var(--hn-r-md);
}

/* --------------------------------------------------------------------------
   12. Event details page
   The legacy layout positioned the booking panel to overlap the page banner
   with `margin: -210px 30px 0 70px`. Banners are switched off, so that pull
   dragged the panel up into the gallery and off the grid. It's reset here and
   the panel becomes a normal themed card.
   -------------------------------------------------------------------------- */

/* --- header: date stamp + title + meta ---------------------------------- */
body.hn-theme-dark .event-details-content .event-top {
  display: flex;
  flex-wrap: wrap; /* the markup asks for a non-existent `flex-wrap-wrap` */
  align-items: center;
  gap: var(--hn-s4);
  margin-bottom: var(--hn-s5);
}

body.hn-theme-dark .event-top-date {
  overflow: hidden;
  min-width: 84px;
  border: 1px solid var(--hn-line);
  border-radius: var(--hn-r-md);
  background-color: var(--hn-surface);
}

body.hn-theme-dark .event-top-date .event-month {
  padding: 6px 0;
  background-color: var(--hn-accent);
  color: var(--hn-accent-ink);
  font-family: var(--hn-font-data);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body.hn-theme-dark .event-top-date .event-date {
  padding: 10px 0;
  background-color: transparent;
  color: var(--hn-text);
  font-family: var(--hn-font-display);
  font-size: 1.75rem;
  font-weight: 400;
}

body.hn-theme-dark .event-details-top .title,
body.hn-theme-dark .event-details-content .title {
  font-family: var(--hn-font-display);
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.08;
  text-transform: uppercase;
}

body.hn-theme-dark .event-details-header ul {
  gap: var(--hn-s2) var(--hn-s4);
  margin-bottom: 0;
  list-style: none;
}

body.hn-theme-dark .event-details-header ul li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--hn-muted);
  font-family: var(--hn-font-data);
  font-size: 0.8125rem;
}

body.hn-theme-dark .event-details-header ul li i {
  color: var(--hn-accent-text);
}

/* --- gallery + the map / save / share row ------------------------------- */
body.hn-theme-dark .event-details-image .swiper img,
body.hn-theme-dark .event-details-images img {
  border-radius: var(--hn-r-lg);
}

body.hn-theme-dark .event-details-image .buttons {
  display: flex;
  gap: var(--hn-s2);
  margin-top: var(--hn-s3);
}

body.hn-theme-dark .event-details-image .buttons a {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--hn-line);
  border-radius: var(--hn-r-md);
  background: var(--hn-surface);
  color: var(--hn-text);
}

body.hn-theme-dark .event-details-image .buttons a:hover {
  border-color: var(--hn-accent-text);
  color: var(--hn-accent-text);
}

body.hn-theme-dark .event-details-slide-prev,
body.hn-theme-dark .event-details-slide-next,
body.hn-theme-dark .slide-btn {
  border: 1px solid var(--hn-line-strong);
  background: rgba(7, 8, 12, 0.82) !important;
  color: var(--hn-text);
}

body.hn-theme-dark .event-details-slide-prev:hover,
body.hn-theme-dark .event-details-slide-next:hover,
body.hn-theme-dark .slide-btn:hover {
  background: var(--hn-accent) !important;
  border-color: var(--hn-accent-text);
  color: var(--hn-accent-ink) !important;
}

/* --- description / policy ---------------------------------------------- */
body.hn-theme-dark .inner-title {
  font-family: var(--hn-font-display);
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

body.hn-theme-dark .summernote-content,
body.hn-theme-dark .summernote-content p,
body.hn-theme-dark .summernote-content span,
body.hn-theme-dark .summernote-content li,
body.hn-theme-dark .summernote-content div {
  /* editor content often carries its own light-theme colours inline */
  color: var(--hn-muted) !important;
  background: transparent !important;
}

body.hn-theme-dark .summernote-content h1,
body.hn-theme-dark .summernote-content h2,
body.hn-theme-dark .summernote-content h3,
body.hn-theme-dark .summernote-content h4,
body.hn-theme-dark .summernote-content strong,
body.hn-theme-dark .summernote-content b {
  color: var(--hn-text) !important;
}

body.hn-theme-dark .summernote-content a {
  color: var(--hn-accent-text) !important;
}

body.hn-theme-dark .summernote-content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--hn-r-md);
}

/* the refund policy is stored as newline-separated lines, so keep them */
body.hn-theme-dark .hn-policy {
  white-space: pre-line;
  color: var(--hn-muted);
  font-size: var(--hn-fs-sm);
}

body.hn-theme-dark .our-location iframe,
body.hn-theme-dark .map-h {
  border: 1px solid var(--hn-line);
  border-radius: var(--hn-r-lg);
  filter: invert(0.9) hue-rotate(180deg) saturate(0.7);
}

/* --- booking panel ----------------------------------------------------- */
body.hn-theme-dark .event-details-information {
  margin: 0 !important;
  padding: var(--hn-s5);
  border: 1px solid var(--hn-line);
  border-radius: var(--hn-r-lg);
  background: var(--hn-surface);
  box-shadow: none;
}

@media (min-width: 992px) {
  body.hn-theme-dark .event-details-information {
    padding: var(--hn-s6);
  }
}

/* section labels inside the panel */
body.hn-theme-dark .event-details-information b {
  color: var(--hn-muted);
  font-family: var(--hn-font-data);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: var(--hn-s2);
  text-transform: uppercase;
}

body.hn-theme-dark .event-details-information hr {
  margin-block: var(--hn-s4);
  border-color: var(--hn-line);
}

body.hn-theme-dark .event-details-information h6,
body.hn-theme-dark .event-details-information .price-count h6 {
  color: var(--hn-text);
  font-family: var(--hn-font-data);
  font-size: 0.9375rem;
}

body.hn-theme-dark .event-details-information .price-count {
  gap: var(--hn-s3);
  justify-content: space-between;
}

body.hn-theme-dark .event-details-information .price-count h6 del {
  color: var(--hn-muted-dim);
}

/* total price */
body.hn-theme-dark .event-details-information .h4 {
  color: var(--hn-accent-text);
  font-family: var(--hn-font-data);
  font-size: 1.375rem;
  font-weight: 700;
}

body.hn-theme-dark .event-details-information .link,
body.hn-theme-dark .event-details-information .link:hover {
  color: var(--hn-accent-text);
}

/* quantity stepper — the legacy border is a near-invisible dark rgba */
body.hn-theme-dark .quantity-input {
  overflow: hidden;
  border: 1px solid var(--hn-line-strong);
  border-radius: var(--hn-r-md);
  background: var(--hn-surface-2);
}

body.hn-theme-dark .quantity-input button {
  border: 0;
  background: transparent;
  color: var(--hn-text);
}

body.hn-theme-dark .quantity-input button:hover {
  background: var(--hn-surface-3);
  color: var(--hn-accent-text);
}

body.hn-theme-dark .quantity-input input {
  border: 0;
  border-inline: 1px solid var(--hn-line);
  border-radius: 0;
  background: transparent;
  color: var(--hn-text);
  font-family: var(--hn-font-data);
  text-align: center;
}

/* countdown */
body.hn-theme-dark .syotimer-cell {
  border: 1px solid var(--hn-line);
  border-radius: var(--hn-r-md);
  background: var(--hn-surface-2) !important;
}

body.hn-theme-dark .syotimer-cell__value {
  color: var(--hn-accent-text) !important;
  font-family: var(--hn-font-display);
}

body.hn-theme-dark .syotimer-cell__unit {
  color: var(--hn-muted) !important;
  font-family: var(--hn-font-data);
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* --- related events ---------------------------------------------------- */
body.hn-theme-dark .recent-event .event-item .event-content .price,
body.hn-theme-dark .recent-event .event-item .event-content p.price {
  color: var(--hn-accent-text) !important;
  font-family: var(--hn-font-data);
}

body.hn-theme-dark .related-event-buttons {
  display: flex;
  justify-content: flex-end;
  gap: var(--hn-s2);
}

/* --------------------------------------------------------------------------
   13. Remaining light surfaces / dark text still referenced by live views
   (swept out of the legacy stylesheets; everything else in there belongs to
   template sections this site doesn't use)
   -------------------------------------------------------------------------- */
body.hn-theme-dark .event-search .search-item,
body.hn-theme-dark .single-message,
body.hn-theme-dark .contact-info-item > i,
body.hn-theme-dark .product-area .shop-item .shop-thumb ul li a,
body.hn-theme-dark .product-items .shop-item .shop-thumb ul li a {
  background: var(--hn-surface-2) !important;
  color: var(--hn-text);
}

body.hn-theme-dark .contact-info-item > i {
  border: 1px solid var(--hn-line);
  color: var(--hn-accent-text);
}

body.hn-theme-dark .product-area .shop-item .shop-content a,
body.hn-theme-dark .product-items .shop-item .shop-content a,
body.hn-theme-dark .checkout-area .exisitng-customer h5,
body.hn-theme-dark .checkout-area .coupon h5,
body.hn-theme-dark .cart-total-table li span.col,
body.hn-theme-dark .progress-steps li .icon,
body.hn-theme-dark .review-content ul.review-value::after {
  color: var(--hn-text) !important;
}

body.hn-theme-dark .progress-steps li .icon {
  background: var(--hn-surface-2);
  border-color: var(--hn-line);
}

body.hn-theme-dark .subscribe-form button[type='submit']:hover,
body.hn-theme-dark .subscribe-form input[type='submit']:hover {
  background: var(--hn-accent) !important;
  color: var(--hn-accent-ink) !important;
}

/* --------------------------------------------------------------------------
   14. Checkout — "Tickets Info" / order summary
   The ticket rows were built on light greys (#f1f1f1 box, #eef2f7 header row,
   #ced4da rules), so the ticket name ended up light-on-light.
   -------------------------------------------------------------------------- */
body.hn-theme-dark .slot-box {
  background: var(--hn-surface-2);
}

body.hn-theme-dark .checkout-area-v2 .sidebar .slot-box-list {
  border-color: var(--hn-line);
}

body.hn-theme-dark .checkout-area-v2 .sidebar .slot-box-list .slot-box2.slot-box2-header {
  background: var(--hn-surface-2);
}

body.hn-theme-dark .checkout-area-v2 .sidebar .slot-box-list .slot-box2:not(:last-child) {
  border-bottom-color: var(--hn-line);
}

body.hn-theme-dark .slot-box-list .title,
body.hn-theme-dark .slot-box-list .title strong {
  color: var(--hn-text);
  font-family: var(--hn-font-display);
  font-weight: 400;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

/* the ticket name itself */
body.hn-theme-dark .slot-box .text,
body.hn-theme-dark .slot-box h6.text,
body.hn-theme-dark .slot-box2 .text {
  color: var(--hn-text);
  font-weight: 600;
}

/* seat / slot line under a ticket name */
body.hn-theme-dark .slot-box span:not(.text):not(.number) {
  color: var(--hn-muted);
  font-family: var(--hn-font-data);
  font-size: 0.75rem;
}

/* order summary rows */
body.hn-theme-dark .package-summary li .text {
  color: var(--hn-muted);
}

body.hn-theme-dark .package-summary li:last-child .text,
body.hn-theme-dark .package-summary li:last-child .number {
  color: var(--hn-text);
}

/* --------------------------------------------------------------------------
   15. Focus visibility everywhere on the public site
   -------------------------------------------------------------------------- */
body.hn-theme-dark a:focus-visible,
body.hn-theme-dark button:focus-visible,
body.hn-theme-dark input:focus-visible,
body.hn-theme-dark select:focus-visible,
body.hn-theme-dark textarea:focus-visible {
  outline:  2px solid var(--hn-accent-text);
  outline-offset: 2px;
}
