@charset "utf-8";

/*===================== TABLE OF CONTENT =======================

1.  Default css
	- Google Fonts
	- Reset Css
	- Night Mode Btn
	- Scrollbar
	- Left Sidebar
	- Header section
	- Footer section
	- Main Index Page
	- Breadcrumb Title
2.  Index Homepage
3.	Explore Events
4.	Sign In and Sign Up Pages
5.	Event Detail View Page
6.	Checkout Page
7.	Profile Page
8.	Organisation Dashboard Page
9.	Create Events
10.	Pricing Page
11.	FAQ Page
12.	Contact Us Page
13.	Our Blog Page
14.	Blog Detail Page
15.	Help Center Page
16.	About Us Page
17.	Sell Tickets Online Page
18.	Create Page
19.	Coming Soon Page
20.	Error 404 Page
21.	Refer a Friend Page
22.	Terms & Condition Page
23.	Privacy Policy Page
24.	Booking Confirmed Page
25.	Invoice Page


/* ================================================================================== 
 Google Fonts
===================================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&amp;display=swap")
    /* ================================================================================== 
Reset Css
===================================================================================== */
    html,
  body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p,
  blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em,
  img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i,
  center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption,
  tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed,
  figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section,
  summary, time, mark, audio;

video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

::-moz-selection {
  /* Code for Firefox */
  background-color: #ffcccc;
  color: rgba(0, 0, 0, 0.87);
}

::selection {
  background-color: #ffcccc;
  color: rgba(0, 0, 0, 0.87);
}

ol,
ul {
  list-style: none;
  margin-bottom: 0;
  padding-left: 0;
}

a:hover {
  text-decoration: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

button {
  outline: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  color: #7a0000;
  text-decoration: none;
}

a:focus {
  text-decoration: none;
  outline: none;
}

a:hover {
  text-decoration: none;
}

a:active {
  color: #2e2e2e;
}

/* DB content translation admin */
.db-i18n-admin {
  --db-i18n-bg: #f6f2ec;
  --db-i18n-surface: #fffaf2;
  --db-i18n-surface-strong: #ffffff;
  --db-i18n-border: rgba(92, 68, 42, 0.16);
  --db-i18n-text: #261d14;
  --db-i18n-muted: #746657;
  --db-i18n-primary: #8a3d18;
  --db-i18n-primary-strong: #5f250d;
  --db-i18n-soft: rgba(138, 61, 24, 0.1);
  color: var(--db-i18n-text);
}

.db-i18n-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background:
    radial-gradient(circle at 10% 0%, rgba(255, 255, 255, .88), transparent 30%),
    linear-gradient(135deg, #fff7ea, #f0dfc4 58%, #e2c7a0);
  border: 1px solid var(--db-i18n-border);
}

.db-i18n-kicker {
  display: inline-flex;
  margin-bottom: 8px;
  color: var(--db-i18n-primary);
  font-size: 12px;
  font-weight: 573;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.db-i18n-doc-link,
.db-i18n-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 999px;
  padding: 11px 16px;
  background: var(--db-i18n-primary);
  color: #fff;
  font-size: 13px;
  font-weight: 573;
  text-decoration: none;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.db-i18n-doc-link:hover,
.db-i18n-btn:hover {
  background: var(--db-i18n-primary-strong);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(95, 37, 13, .18);
}

.db-i18n-btn:disabled {
  cursor: not-allowed;
  background: #b9aa99;
  color: #fff8ee;
  opacity: .72;
  transform: none;
  box-shadow: none;
}

.db-i18n-btn--secondary {
  background: #2e261d;
}

.db-i18n-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin: 20px 0;
}

.db-i18n-stat,
.db-i18n-card {
  border: 1px solid var(--db-i18n-border);
  background: var(--db-i18n-surface);
  box-shadow: 0 18px 44px rgba(58, 40, 20, .08);
}

.db-i18n-stat {
  border-radius: 18px;
  padding: 18px;
}

.db-i18n-stat span {
  display: block;
  color: var(--db-i18n-muted);
  font-size: 12px;
  font-weight: 573;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.db-i18n-stat strong {
  display: block;
  margin-top: 8px;
  color: var(--db-i18n-text);
  font-size: 20px;
  line-height: 1;
}

.db-i18n-detail-grid {
  display: grid;
  grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr);
  gap: 20px;
  margin-bottom: 20px;
}

.db-i18n-card {
  border-radius: 24px;
  padding: 22px;
  margin-bottom: 20px;
}

.db-i18n-card--wide {
  width: 100%;
}

.db-i18n-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.db-i18n-card-head h2 {
  margin: 0;
  color: var(--db-i18n-text);
  font-size: 20px;
}

.db-i18n-card-head p {
  margin: 5px 0 0;
  color: var(--db-i18n-muted);
  font-size: 14px;
}

.db-i18n-card-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.db-i18n-selector {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) auto;
  gap: 14px;
  align-items: end;
}

.db-i18n-selector label {
  display: block;
  margin-bottom: 7px;
  color: var(--db-i18n-muted);
  font-size: 12px;
  font-weight: 573;
  text-transform: uppercase;
}

.db-i18n-selector select {
  width: 100%;
  border: 1px solid var(--db-i18n-border);
  border-radius: 14px;
  padding: 12px 14px;
  background: var(--db-i18n-surface-strong);
  color: var(--db-i18n-text);
  font-weight: 700;
}

.db-i18n-locale-bar {
  display: flex;
  align-items: end;
  gap: 12px;
  flex-wrap: wrap;
}

.db-i18n-locale-bar label {
  display: block;
  width: 100%;
  color: var(--db-i18n-muted);
  font-size: 12px;
  font-weight: 488;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.db-i18n-locale-bar select {
  min-width: 220px;
  border: 1px solid var(--db-i18n-border);
  border-radius: 14px;
  padding: 12px 14px;
  background: var(--db-i18n-surface-strong);
  color: var(--db-i18n-text);
  font-weight: 580;
}

.db-i18n-help-strip {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 18px;
  border: 1px solid rgba(138, 61, 24, .16);
  border-radius: 16px;
  padding: 14px 16px;
  background: var(--db-i18n-soft);
  color: var(--db-i18n-muted);
}

.db-i18n-help-strip strong {
  color: var(--db-i18n-text);
  white-space: nowrap;
}

.db-i18n-bulk-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 16px;
}

.db-i18n-selection-note {
  margin: -4px 0 14px;
  color: var(--db-i18n-muted);
  font-size: 14px;
}

.db-i18n-progress-panel {
  margin: 0 0 18px;
  border: 1px solid rgba(138, 61, 24, .18);
  border-radius: 18px;
  padding: 16px;
  background: linear-gradient(135deg, rgba(138, 61, 24, .08), rgba(255, 255, 255, .72));
}

.db-i18n-progress-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.db-i18n-progress-head strong,
.db-i18n-progress-head span {
  display: block;
}

.db-i18n-progress-head strong {
  color: var(--db-i18n-text);
  font-size: 15px;
}

.db-i18n-progress-head span {
  color: var(--db-i18n-muted);
  font-size: 13px;
}

.db-i18n-progress-tools {
  display: flex;
  align-items: center;
  gap: 12px;
}

#db-i18n-progress-percent {
  color: var(--db-i18n-primary);
  font-size: 20px;
  font-weight: 488;
  line-height: 1;
}

.db-i18n-progress-clear {
  border: 1px solid rgba(138, 61, 24, .2);
  border-radius: 999px;
  padding: 7px 10px;
  background: rgba(255, 255, 255, .72);
  color: var(--db-i18n-primary);
  font-size: 12px;
  font-weight: 488;
  cursor: pointer;
}

.db-i18n-progress-clear:hover {
  border-color: rgba(138, 61, 24, .38);
  background: #fff;
}

.db-i18n-progress-track {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(138, 61, 24, .12);
}

.db-i18n-progress-bar {
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--db-i18n-primary), #e9a15c);
  transition: width .18s ease;
}

.db-i18n-progress-log {
  display: grid;
  gap: 7px;
  max-height: 220px;
  margin: 14px 0 0;
  padding: 0;
  overflow-y: auto;
  list-style: none;
}

.db-i18n-progress-log li {
  border: 1px solid rgba(92, 68, 42, .1);
  border-radius: 12px;
  padding: 8px 10px;
  background: rgba(255, 255, 255, .62);
  color: var(--db-i18n-text);
  font-size: 12px;
}

.db-i18n-progress-log li.is-muted {
  color: var(--db-i18n-muted);
}

.db-i18n-progress-log li.is-success {
  border-color: rgba(21, 128, 61, .18);
  color: #166534;
}

.db-i18n-progress-log li.is-error {
  border-color: rgba(159, 29, 29, .22);
  color: #991b1b;
}

.db-i18n-check-cell {
  width: 44px;
  text-align: center;
}

.db-i18n-check-cell input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--db-i18n-primary);
}

.db-i18n-row-link {
  color: var(--db-i18n-primary);
  font-weight: 488;
  text-decoration: none;
}

.db-i18n-row-link:hover {
  color: var(--db-i18n-primary-strong);
}

.db-i18n-detail-list,
.db-i18n-sample dl {
  margin: 0;
}

.db-i18n-detail-list div,
.db-i18n-sample dl div {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(92, 68, 42, .12);
}

.db-i18n-detail-list div:last-child,
.db-i18n-sample dl div:last-child {
  border-bottom: 0;
}

.db-i18n-detail-list dt,
.db-i18n-sample dt {
  color: var(--db-i18n-muted);
  font-size: 12px;
}

.db-i18n-detail-list dd,
.db-i18n-sample dd {
  margin: 0;
  min-width: 0;
  color: var(--db-i18n-text);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.db-i18n-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 5px 10px;
  background: var(--db-i18n-soft);
  color: var(--db-i18n-primary);
  font-size: 11px;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.db-i18n-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.db-i18n-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 8px;
}

.db-i18n-table th {
  color: var(--db-i18n-muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 0 12px 6px;
}

.db-i18n-sort-btn {
  appearance: none;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: inherit;
  padding: 0;
  text-align: left;
  text-transform: inherit;
}

.db-i18n-sort-btn:hover,
.db-i18n-sort-btn.is-active {
  color: var(--db-i18n-primary);
}

.db-i18n-sort-btn i {
  font-size: 10px;
}

.db-i18n-table td {
  background: var(--db-i18n-surface-strong);
  border-top: 1px solid var(--db-i18n-border);
  border-bottom: 1px solid var(--db-i18n-border);
  padding: 14px 12px;
  color: var(--db-i18n-text);
  vertical-align: middle;
}

.db-i18n-table td:first-child {
  border-left: 1px solid var(--db-i18n-border);
  border-radius: 14px 0 0 14px;
}

.db-i18n-table td:last-child {
  border-right: 1px solid var(--db-i18n-border);
  border-radius: 0 14px 14px 0;
}

.db-i18n-table tr.is-selected td {
  background: #fff0dd;
  border-color: rgba(138, 61, 24, .35);
}

.db-i18n-table td > span {
  display: block;
  margin-top: 3px;
  color: var(--db-i18n-muted);
  font-size: 12px;
}

.db-i18n-table code,
.db-i18n-detail-list code,
.db-i18n-sample code {
  color: var(--db-i18n-primary-strong);
  white-space: normal;
  overflow-wrap: anywhere;
}

.db-i18n-pill--ok {
  background: rgba(21, 128, 61, .12);
  color: #166534;
}

.db-i18n-pill--warn {
  background: rgba(180, 83, 9, .14);
  color: #92400e;
}

.db-i18n-pill--muted {
  background: rgba(100, 116, 139, .12);
  color: #475569;
}

.db-i18n-sample-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.db-i18n-sample {
  border: 1px solid var(--db-i18n-border);
  border-radius: 18px;
  padding: 16px;
  background: var(--db-i18n-surface-strong);
}

.db-i18n-sample h3 {
  margin: 0 0 12px;
  font-size: 15px;
}

.db-i18n-empty {
  margin: 0;
  border: 1px dashed var(--db-i18n-border);
  border-radius: 16px;
  padding: 22px;
  color: var(--db-i18n-muted);
  background: var(--db-i18n-soft);
}

.db-i18n-result-item {
  border: 1px solid var(--db-i18n-border);
  border-radius: 18px;
  padding: 18px;
  background: var(--db-i18n-surface-strong);
}

.db-i18n-result-item + .db-i18n-result-item {
  margin-top: 16px;
}

.db-i18n-result-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.db-i18n-result-head strong,
.db-i18n-result-head span {
  display: block;
}

.db-i18n-result-head strong {
  color: var(--db-i18n-text);
  font-size: 17px;
}

.db-i18n-result-head span {
  color: var(--db-i18n-muted);
  font-size: 13px;
}

.db-i18n-result-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.db-i18n-result-stats span {
  border-radius: 999px;
  padding: 5px 10px;
  background: var(--db-i18n-soft);
  color: var(--db-i18n-muted);
  font-size: 12px;
}

.db-i18n-copy-block {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.db-i18n-copy-block label {
  margin: 0;
  color: var(--db-i18n-muted);
  font-size: 12px;
  font-weight: 488;
  text-transform: uppercase;
}

.db-i18n-copy-block code {
  color: var(--db-i18n-primary-strong);
  overflow-wrap: anywhere;
}

.db-i18n-copy-block textarea {
  min-height: 260px;
  border: 1px solid var(--db-i18n-border);
  border-radius: 14px;
  padding: 14px;
  background: #111827;
  color: #f8fafc;
  font-family: Consolas, Monaco, monospace;
  font-size: 12px;
  line-height: 1.5;
  white-space: pre;
}

.db-i18n-copy-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.db-i18n-copy-btn,
.db-i18n-apply-btn,
.db-i18n-apply-all-btn {
  justify-self: start;
  border: 0;
  border-radius: 999px;
  padding: 8px 12px;
  background: var(--db-i18n-primary);
  color: #fff;
  font-size: 12px;
  font-weight: 488;
  cursor: pointer;
}

.db-i18n-apply-btn,
.db-i18n-apply-all-btn {
  background: #2e261d;
}

.db-i18n-copy-btn:disabled,
.db-i18n-apply-btn:disabled,
.db-i18n-apply-all-btn:disabled {
  cursor: not-allowed;
  background: #b9aa99;
  color: #fff8ee;
}

.db-i18n-apply-status {
  color: var(--db-i18n-muted);
  font-size: 12px;
}

.db-i18n-apply-status.is-success {
  color: #166534;
}

.db-i18n-apply-status.is-error {
  color: #991b1b;
}

@media (max-width: 1199px) {
  .db-i18n-stats,
  .db-i18n-detail-grid,
  .db-i18n-sample-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .db-i18n-hero,
  .db-i18n-card-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .db-i18n-stats,
  .db-i18n-detail-grid,
  .db-i18n-sample-grid,
  .db-i18n-selector {
    grid-template-columns: 1fr;
  }

  .db-i18n-detail-list div,
  .db-i18n-sample dl div {
    grid-template-columns: 1fr;
  }
}

.sr-text-sm {
  font-size: .9rem;
}

.sr-avatar-upload-label {
  cursor: pointer;
  display: inline-block;
}

.sr-avatar-preview-wrap {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 10px;
  background: var(--sr-primary, #7b0202);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid var(--ads-border, rgba(0, 0, 0, 0.08));
}

.sr-avatar-preview-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.sr-avatar-initials {
  font-size: 20px;
  font-weight: 573;
  color: #fff;
}

.sr-inline-actions {
  display: flex;
  gap: 10px;
}

.sr-report-search--wide {
  max-width: 340px;
}

.sr-count-badge {
  font-size: 16px;
  font-weight: 554;
  opacity: .55;
  margin-left: 6px;
}

.ads-form-shell {
  max-width: 860px;
}

.global-pagination__info--centered {
  align-self: center;
}

.ads-campaign-ref {
  font-weight: 554;
  opacity: .55;
  font-size: 18px;
  margin-left: 6px;
}

.ads-external-link-icon {
  font-size: 10px;
  margin-left: 4px;
  opacity: .5;
}

.ads-campaign-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.ads-campaign-section-title {
  font-size: 13px;
  font-weight: 573;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--ads-muted);
  margin: 0;
}

.ads-profile-shell {
  max-width: 860px;
}

.ads-avatar-picker {
  cursor: pointer;
}

.ads-avatar-picker__image {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  margin: 0 auto 8px;
}

.ads-profile-card {
  text-align: center;
}

.ads-profile-card__image {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 14px;
  border: 3px solid var(--ads-red);
}

.ads-profile-card__name {
  font-size: 18px;
  font-weight: 573;
  margin: 0 0 4px;
  color: var(--ads-text);
}

.ads-profile-card__check {
  color: #4f46e5;
  font-size: 14px;
  margin-left: 4px;
}

.ads-profile-card__email {
  font-size: 13px;
  color: var(--ads-muted);
  margin: 0 0 16px;
}

.ads-profile-card__about {
  font-size: 14px;
  color: var(--ads-text);
  margin: 0 0 18px;
  line-height: 1.6;
}

.ads-profile-card__social {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-bottom: 16px;
}

.ads-profile-card__social-link {
  color: var(--ads-red);
  font-size: 20px;
}

.ads-profile-section-title {
  font-size: 13px;
  font-weight: 573;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--ads-muted);
  margin: 0 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--ads-border);
}

.ads-profile-link-group {
  margin-top: 20px;
}

.ads-profile-link-row {
  display: flex;
  gap: 8px;
}

.ads-profile-link-input {
  font-size: 13px;
}

.org-about-shell {
  max-width: 900px;
}

.org-about-flash {
  margin-bottom: 24px;
}

.org-about-card {
  text-align: center;
  padding: 28px 24px;
}

.org-about-avatar {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 14px;
  background: #7b0202;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid var(--ads-border);
  box-shadow: 0 6px 18px rgba(123, 2, 2, .18);
}

.org-about-avatar__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.org-about-avatar__initials {
  font-size: 32px;
  font-weight: 573;
  color: #fff;
}

.org-about-name {
  font-size: 20px;
  font-weight: 573;
  margin: 0 0 4px;
  color: var(--ads-text);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  flex-wrap: wrap;
}

.org-about-label {
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #7b0202;
  margin: 0 0 12px;
}

.org-about-bio {
  font-size: 14px;
  color: var(--ads-muted);
  line-height: 1.65;
  margin: 0 0 16px;
}

.org-about-socials {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-bottom: 16px;
}

.org-about-social {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff1f1;
  color: #7b0202;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  text-decoration: none;
}

.org-about-public-btn {
  width: 100%;
  justify-content: center;
}

.org-about-panel {
  margin-bottom: 18px;
}

.org-about-section-title {
  font-size: 13px;
  font-weight: 573;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--ads-muted);
  margin: 0 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--ads-border);
}

.org-about-section-title--compact {
  margin: 0 0 14px;
}

.org-about-empty {
  color: var(--ads-muted);
  font-size: 14px;
  margin: 0;
}

.org-about-wide {
  grid-column: 1 / -1;
}

.org-about-link-hint {
  font-size: 13px;
  color: var(--ads-muted);
  margin: 0 0 12px;
}

.org-about-linkbox {
  display: flex;
  gap: 0;
  border: 1.5px solid var(--ads-border);
  border-radius: 10px;
  overflow: hidden;
  background: var(--ads-surface);
}

.org-about-linkbox__input {
  flex: 1;
  min-width: 0;
  border: none;
  padding: 10px 14px;
  font-size: 13px;
  background: transparent;
  color: var(--ads-text);
  cursor: pointer;
}

.org-about-linkbox__button {
  border: none;
  border-left: 1.5px solid var(--ads-border);
  background: var(--ads-surface-alt);
  padding: 0 16px;
  font-size: 13px;
  font-weight: 700;
  color: #7b0202;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
  transition: background .12s;
}

.org-about-copy-msg {
  font-size: 12px;
  color: #15803d;
  font-weight: 600;
  min-height: 18px;
  margin-top: 6px;
}

.ads-click-row {
  cursor: pointer;
}

.ads-ref-cell {
  font-size: 12px;
  color: var(--ads-muted);
}

.ads-empty-icon {
  font-size: 20px;
  opacity: .2;
  display: block;
  margin-bottom: 10px;
}

.ads-no-ads-btn {
  margin-top: 14px;
  display: inline-flex;
}

.org-contact-toolbar {
  margin-bottom: 18px;
}

.org-contact-empty-icon {
  font-size: 20px;
  opacity: .2;
  display: block;
  margin-bottom: 10px;
}

.org-contact-table-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid var(--ads-border);
}

.org-contact-select-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ads-muted);
  cursor: pointer;
}

.org-contact-last-order {
  color: var(--ads-muted);
  font-size: 13px;
}

.ads-packages-new-title {
  font-size: 15px;
  font-weight: 700;
  margin: 0 0 4px;
}

.ads-packages-new-subtitle {
  font-size: 13px;
  color: var(--ads-muted);
  margin: 0;
}

.ads-packages-empty-note {
  margin-top: 20px;
  color: var(--ads-muted);
}

.ads-packages-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 20px;
}

.ads-packages-event-title {
  font-size: 18px;
  font-weight: 573;
  margin: 0 0 4px;
}

.ads-packages-event-subtitle {
  font-size: 13px;
  color: var(--ads-muted);
  margin: 0;
}

.ads-packages-currency-form {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.ads-packages-currency-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--ads-muted);
  white-space: nowrap;
}

.ads-packages-currency-select {
  min-width: 180px;
}

.ads-details-top {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  flex-wrap: wrap;
}

.ads-details-image {
  width: 150px;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 8px;
}

.ads-details-facts {
  flex: 1;
  min-width: 260px;
}

.ads-details-status-body {
  margin: 0;
  color: var(--ads-muted);
}

.ads-details-inclusions {
  padding-left: 18px;
  margin: 0;
  color: var(--ads-muted);
}

.ads-checkout-shell {
  max-width: 660px;
}

.ads-checkout-channels {
  font-size: 13px;
}

.ads-payment-debug {
  white-space: pre-wrap;
  background: #111827;
  color: #e5e7eb;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.45;
  display: none;
}

.stat-value--member-since {
  font-size: 1.25rem;
}

.profile-socials {
  display: flex;
  gap: 12px;
  margin-top: 14px;
}

.profile-social-icon {
  font-size: 20px;
  color: var(--sr-primary);
}

.quick-nav-icon {
  font-size: 12px;
  opacity: .4;
}

.profile-item-inline {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.profile-empty-icon {
  font-size: 2rem;
  opacity: .25;
  display: block;
  margin-bottom: 12px;
}

.profile-settings-card {
  margin-bottom: 18px;
}

.profile-danger-copy {
  color: var(--sr-danger);
}

.ticket-download-actions {
  text-align: center;
  margin: 12px 0;
}

.ticket-status--neutral {
  color: inherit;
}

.ticket-status--valid {
  color: #fff;
  background-color: green;
}

.ticket-status--expired,
.ticket-status--cancelled,
.invoice-status--unpaid,
.invoice-status--expired {
  color: red;
}

.invoice-status--paid {
  color: green;
}

.invoice-status--neutral {
  color: inherit;
}

.invoice-status--paid,
.invoice-status--unpaid,
.invoice-status--expired,
.invoice-status--neutral {
  font-size: 20px;
}

.admin-empty-icon {
  font-size: 22px;
  opacity: .4;
  display: block;
  margin-bottom: 8px;
}

.retention-days-input {
  width: 110px;
}

.camp-preview-hidden {
  display: none;
  margin-top: 14px;
}

.camp-hidden-form {
  display: none;
}

.admin-delete-btn {
  background-color: red;
  color: white;
}

.admin-toast {
  right: 16px;
  bottom: 16px;
  z-index: 100;
  min-width: 280px;
}

.admin-file-input-hidden {
  display: none;
}

.sr-org-avatar-fallback--hidden {
  display: none;
}

.camp-progress__fill {
  width: var(--camp-progress);
}

.admin-error-pre {
  white-space: pre-wrap;
  word-break: break-word;
}

.admin-error-context {
  background: #f8f9fa;
  padding: 12px;
  border-radius: 4px;
  overflow-x: auto;
  font-size: .82em;
}

.chat-transcript-table {
  width: 100%;
  border-collapse: collapse;
}

.chat-transcript-row--admin {
  background: #f0f4ff;
}

.chat-transcript-row--guest {
  background: #f9fafb;
}

.chat-transcript-cell {
  padding: 8px 12px;
  font-size: .85em;
}

button:focus {
  outline: none;
}

input {
  outline: none;
  border-radius: 3px;
}

textarea {
  outline: none;
  border-radius: 3px;
}

p {
  font-size: 14px;
  line-height: 26px;
  color: #717171;
  letter-spacing: 0.1px;
}

/* ================ Typography Css =============== */
h1 {
  font-size: 2em;
  /* 2x body copy size = 32px */
  line-height: 1.25;
  /* 45px / 36px */
  color: #000;
}

h2 {
  font-size: 1.625em;
  /* 1.625x body copy size = 26px */
  line-height: 1.15384615;
  /* 30px / 26px */
  color: #000;
}

h3 {
  font-size: 1.375em;
  /* 1.375x body copy size = 22px */
  line-height: 1.13636364;
  /* 25px / 22px */
  color: #000;
}

h4 {
  font-size: 1.125em;
  /* 1.125x body copy size = 18px */
  line-height: 1.11111111;
  color: #000;
}

h5 {
  font-size: 1.1em;
  /* 1.125x body copy size = 18px */
  line-height: 1.1;
  color: #000;
}

h6 {
  font-size: 1em;
  /* 1.125x body copy size = 18px */
  line-height: 1.05;
  color: #000;
}

blockquote {
  font-size: 1.25em;
  /* 20px / 16px */
  line-height: 1.25;
  /* 25px / 20px */
}

@media (min-width: 43.75em) {
  h1 {
    font-size: 2.5em;
    /* 2.5x body copy size = 40px */
    line-height: 1.125;
    color: #000;
  }

  h2 {
    font-size: 2em;
    /* 2x body copy size = 32px */
    line-height: 1.25;
    color: #000;
  }

  h3 {
    font-size: 1.5em;
    /* 1.5x body copy size = 24px */
    line-height: 1.25;
    color: #000;
  }

  h4 {
    line-height: 1.22222222;
    /* (22px / 18px */
    color: #000;
  }

  blockquote {
    font-size: 1.5em;
    /* 24px / 16px = */
    line-height: 1.45833333;
    /* 35px / 24px */
  }
}

@media (min-width: 56.25em) {
  h1 {
    font-size: 3em;
    /* 3x body copy size = 48px */
    line-height: 1.05;
    /* keep to a multiple of the 20px line height 
	and something more appropriate for display headings */
  }

  h2 {
    font-size: 2.25em;
    /* 2.25x body copy size = 36px */
    line-height: 1.25;
  }

  h3 {
    font-size: 1.75em;
    /* 1.75x body copy size = 28px */
    line-height: 1.25;
  }
}

/* ================ CROSS BROWSER COMPATABILITY =============== */

nav,
nav ul li a,
nav ul li:hover > ul {
  -webkit-transition: all 0.4s ease-in;
  -moz-transition: all 0.4s ease-in;
  -ms-transition: all 0.4s ease-in;
  -o-transition: all 0.4s ease-in;
  transition: all 0.4s ease-in;
}

/* === Body Scrollbar === */

body::-webkit-scrollbar {
  width: 14px;
  height: 18px;
}

body::-webkit-scrollbar-button {
  width: 0;
  height: 0;
  display: none;
}

body::-webkit-scrollbar-corner {
  background-color: transparent;
}

body::-webkit-scrollbar-thumb {
  height: 6px;
  border: 4px solid transparent;
  background-clip: padding-box;
  -webkit-border-radius: 7px;
  background-color: rgba(0, 0, 0, 0.15);
  -webkit-box-shadow:
    inset -1px -1px 0 rgba(0, 0, 0, 0.05),
    inset 1px 1px 0 rgba(0, 0, 0, 0.05);
}

html {
  font-size: 14px;
}

body {
  margin: 0;
  font-family: "Roboto", sans-serif;
  font-size: 0.875rem;
  line-height: 1.42857143;
  color: #333;
  background: #f5f7f9;
}

/* --- Header --- */

.header-wrapper {
  background: #fff;
  position: fixed;
  width: 100%;
  box-shadow: 0px 0.052083333in 11.25pt -9px rgb(0 0 0 / 1%);
}

.header {
  position: relative;
  width: 100%;
}

.logo-inverse {
  display: none;
}

.main-logo img {
  height: 35px;
  width: auto;
  padding-top: 0;
}

.main-logo {
  width: 120px;
}

.res-main-logo {
  display: none;
}

#night-mode {
  padding: 0;
  font-size: 14px;
  background: #e6e6e6;
  color: #717171;
  cursor: pointer;
  text-align: center;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  line-height: 30px;
  transform: translate(2%, -20%);
}

.bg-showrave {
  background-color: #ffffff;
  box-shadow: 0px 0.052083333in 11.25pt -9px rgb(0 0 0 / 10%);
}

/*
 * ═══════════════════════════════════════════════════════════
 *  SINGLE ROOT TOKEN REGISTRY
 *  All CSS custom properties for the site live here.
 *
 *  Deep-red appears in THREE intentionally distinct shades:
 *    --sr-primary  #7b0202  site-wide brand (dark maroon)
 *    --ads-red     #b91c1c  ads/campaign pages (brighter)
 *    --ea-primary  #820000  event analytics section
 *  Do NOT unify - each shade is deliberate.
 * ═══════════════════════════════════════════════════════════
 */
:root {
  /* ── Site-wide brand & button tokens ── */
  --sr-primary:        #7b0202;
  --sr-primary-hover:  #5e0101;
  --sr-primary-tint:   rgba(123, 2, 2, 0.08);
  --sr-primary-border: rgba(123, 2, 2, 0.22);
  --sr-btn-radius:     8px;
  --sr-btn-height:     40px;
  --sr-btn-font:       13.5px;
  --sr-btn-weight:     700;

  /* ── Ads / campaign pages ── */
  --ads-red:         #b91c1c;
  --ads-red-hover:   #991b1b;
  --ads-red-surface: rgba(185, 28, 28, 0.07);
  --ads-red-border:  rgba(185, 28, 28, 0.20);
  --ads-surface:     #ffffff;
  --ads-surface-alt: #f8f8f9;
  --ads-border:      rgba(0, 0, 0, 0.08);
  --ads-text:        #111113;
  --ads-muted:       #6b7280;

  /* ── Event analytics ── */
  --ea-bg:           #f7f8fb;
  --ea-card:         #ffffff;
  --ea-text:         #111827;
  --ea-muted:        #6b7280;
  --ea-border:       #e5e7eb;
  --ea-soft-border:  rgba(17, 24, 39, .08);
  --ea-primary:      #820000;
  --ea-primary-soft: rgba(130, 0, 0, .11);
  --ea-success:      #059669;
  --ea-success-soft: rgba(5, 150, 105, .11);
  --ea-warning:      #d97706;
  --ea-warning-soft: rgba(217, 119, 6, .13);
  --ea-info:         #0284c7;
  --ea-info-soft:    rgba(2, 132, 199, .12);
  --ea-dark-soft:    rgba(17, 24, 39, .08);
  --ea-radius:       18px;
  --ea-shadow:       0 16px 40px rgba(17, 24, 39, .07);

  /* ── Email admin ── */
  --email-bg:            #f6f7fb;
  --email-surface:       #ffffff;
  --email-surface-soft:  #f9fafb;
  --email-border:        #e4e7ec;
  --email-border-strong: #d0d5dd;
  --email-text:          #101828;
  --email-muted:         #667085;
  --email-primary:       #155eef;
  --email-primary-soft:  #eff4ff;
  --email-danger:        #b42318;
  --email-danger-soft:   #fef3f2;
  --email-warning-soft:  #fffaeb;
  --email-radius:        14px;
  --email-shadow:        0 1px 2px rgba(16, 24, 40, .05), 0 12px 32px rgba(16, 24, 40, .06);

  /* ── Language switcher ── */
  --ls-bg:       #ffffff;
  --ls-bg-2:     #f8f9fb;
  --ls-text:     #111827;
  --ls-muted:    #6b7280;
  --ls-border:   #d9d9d9;
  --ls-border-2: #ececec;
  --ls-shadow:   0 20px 60px rgba(0,0,0,.25);
  --ls-backdrop: rgba(0,0,0,.45);

  /* ── Header action bar ── */
  --sr-header-action-surface:       #ffffff;
  --sr-header-action-surface-hover: #f5f5f5;
  --sr-header-action-border:        #e8e8e8;
  --sr-header-action-border-hover:  #b9b9b9;
  --sr-header-action-text:          #1d1d1d;
  --sr-header-action-avatar:        #fff;
  --sr-header-action-avatar-border: #efefef;
}

html.night-mode,
html[data-theme="dark"] {
  --sr-header-action-surface: #1b1b21;
  --sr-header-action-surface-hover: #272730;
  --sr-header-action-border: rgba(255, 255, 255, 0.12);
  --sr-header-action-border-hover: rgba(255, 255, 255, 0.32);
  --sr-header-action-text: #f1f3f5;
  --sr-header-action-avatar: #1f1f27;
  --sr-header-action-avatar-border: rgba(255, 255, 255, 0.16);
}

.showrave-head {
  height: 60px;
}

.navbar-toggler {
  color: #000;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  transition: box-shadow 0.15s ease-in-out;
}

.navbar-toggler:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: none;
}

.navbar-toggler-icon {
  height: auto;
}

.navbar-toggler-icon:hover {
  color: #2e2e2e;
}

.create-btn i {
  margin-right: 0;
}

.create-btn {
  font-size: 14px;
  font-weight: 400;
  color: #fff;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 2px solid #2e2e2e;
  background-color: #2e2e2e;
  padding: 8px 18px;
  border-radius: 999px;
  text-transform: capitalize;
  letter-spacing: 0.2px;
}

.header-inner .right-header {
  margin-left: auto;
}

.showrave-head .navbar-brand {
  order: 0 !important;
}

.showrave-head .navbar-toggler {
  order: 1 !important;
}

.header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.header-action {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.header-action--create {
  margin-right: 4px;
}

.header-action--theme .js-night-mode-toggle,
.theme-switch-row .js-night-mode-toggle,
.header-action--language .lang-switcher-trigger,
.notification-dropdown > .nav-link,
.account-link {
  min-height: 40px;
  min-width: 40px;
  border: 1px solid var(--sr-header-action-border);
  border-radius: 999px;
  background: var(--sr-header-action-surface);
  color: var(--sr-header-action-text);
  box-shadow: 0 8px 18px rgb(33 21 16 / 6%);
}

.header-action--theme .js-night-mode-toggle,
.theme-switch-row .js-night-mode-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  overflow: hidden;
  color: var(--sr-header-action-text);
}

.header-action--theme .night_mode_switch__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.header-action--theme #night-mode,
.dropdown-menu-account .header-menu-control #night-mode {
  transform: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.header-action--language .lang-switcher-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 12px;
}

.header-action--language .lang-switcher-text {
  font-size: 13px;
}

.header-action--language .lang-switcher-flag {
  width: 18px;
  height: 18px;
}

.header-action--language .lang-switcher-chevron {
  font-size: 11px;
}

.header-action--theme .js-night-mode-icon,
.theme-switch-row .js-night-mode-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: none;
  line-height: 1;
}

.header-action--theme .fa-moon,
.header-action--theme .fa-sun,
.theme-switch-row .fa-moon,
.theme-switch-row .fa-sun {
  font-size: 14px;
}

.account-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--sr-header-action-text);
  padding: 4px 10px 4px 4px;
}

.account-link img,
.account-holder-avatar.initials-avatar {
  width: 32px;
  height: 32px;
  background-color: var(--sr-header-action-avatar);
  border-radius: 50%;
  border: 2px solid var(--sr-header-action-avatar-border);
  padding: 0;
  object-fit: cover;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.account-holder-avatar.initials-avatar {
  background-color: #410000;
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
}

.account-link.show img,
.account-link.show .account-holder-avatar.initials-avatar {
  border: 2px solid #2e2e2e;
}

.arrow-icon {
  margin-left: 0;
  font-size: 11px;
}

.notification-dropdown > .nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: var(--sr-header-action-text);
}

.notification-dropdown > .nav-link .fa-bell {
  font-size: 18px;
}

.notification-dropdown > .nav-link .badge-warning {
  top: -5px;
  right: -5px;
}

.notification-dropdown > .nav-link:hover,
.notification-dropdown > .nav-link:focus-visible,
.header-action--theme .js-night-mode-toggle:hover,
.header-action--theme .js-night-mode-toggle:focus-visible,
.theme-switch-row .js-night-mode-toggle:hover,
.theme-switch-row .js-night-mode-toggle:focus-visible,
.header-action--language .lang-switcher-trigger:hover,
.header-action--language .lang-switcher-trigger:focus-visible,
.account-link:hover,
.account-link:focus-visible {
  border-color: var(--sr-header-action-border-hover);
  background: var(--sr-header-action-surface-hover);
  box-shadow: 0 12px 24px rgb(33 21 16 / 10%);
  outline: none;
}

.account-link img {
  padding: 2px;
}

.dropdown-menu-account li {
  margin: 0;
}

.dropdown-menu-account {
  padding: 0;
  width: 250px;
  margin-top: 9px;
  border-radius: 5px;
  background-color: #fff;
  border: 1px solid #f1f1f1;
  box-shadow: 0 8px 11px 2px rgb(64 70 74 / 2%);
  overflow: visible;
}

.dropdown-menu-account li {
  margin: 0;
  display: block;
}

.dropdown-account-header {
  text-align: center;
  padding: 20px;
  overflow: visible;
}

.account-holder-avatar img {
  width: 60px;
  height: 60px;
  background-color: #fff;
  border-radius: 100%;
  border: 2px solid #2e2e2e;
  padding: 2px;
  object-fit: cover;
}

.dropdown-account-header .account-holder-avatar.initials-avatar {
  margin: 0 auto;
}

.dropdown-account-header h5 {
  font-size: 16px;
  margin-top: 13px;
  margin-bottom: 3px;
}

.dropdown-account-header p {
  display: block;
  color: #686868;
  font-size: 13px;
  margin-bottom: 0;
}

.profile-link {
  border-top: 1px solid #efefef;
  padding: 10px 0;
}

.dropdown-menu-account li .link-item {
  display: block;
  width: 100%;
  color: #000000;
  padding: 10px 20px;
  font-size: 12px;
}

.dropdown-menu-account li .header-menu-control {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.dropdown-menu-account li .header-menu-control .lang-switcher-trigger {
  margin-left: 0;
}

.dropdown-menu-account li .header-menu-control .js-night-mode-toggle {
  width: 40px;
  height: 40px;
  line-height: 1;
  transform: none;
  border-radius: 999px;
  border: 1px solid var(--sr-header-action-border, #e8e8e8);
  background: var(--sr-header-action-surface, #ffffff);
  color: var(--sr-header-action-text, #1d1d1d);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.dropdown-menu-account li .link-item:hover {
  color: #2e2e2e;
  background-color: #e6e6e6;
}

.nav-link {
  color: #000;
}

.nav-link:hover {
  color: #2e2e2e;
}

.showrave-head .nav-item .nav-link.active,
.showrave-head .nav-item .show > .nav-link {
  color: #2e2e2e;
}

.close-btn {
  padding: 6px;
  font-size: 20px;
  background: transparent;
  color: rgba(0, 0, 0, 0.65);
  border-radius: 3px;
  width: 40px;
  height: 40px;
  border: 0;
}

.close-btn:hover,
.close-btn:focus {
  background: #f1f2f3;
  color: rgba(0, 0, 0, 1);
}

.offcanvas-top-area {
  display: none;
}

.offcanvas-create-btn {
  font-size: 16px;
  font-weight: 554;
  color: #fff;
  background-color: #2e2e2e;
  border: 2px solid #2e2e2e;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 50px;
  padding: 12px 18px;
  border-radius: 999px;
}

.offcanvas-create-btn i {
  margin-right: 0;
}

.offcanvas-create-btn:hover {
  color: #fff;
  background: #514b4b;
  border: 2px solid #514b4b;
}

.offcanvas-footer {
  border-top: 1px solid #efefef;
}

.offcanvas-social {
  padding: 30px 20px;
}

.offcanvas-social > h5 {
  font-size: 18px;
  font-weight: 620;
  margin-bottom: 17px;
}

.offcanvas-social > .social-links > li {
  display: inline-block;
  margin-right: 10px;
}

.offcanvas-social > .social-links > li:last-child {
  margin-right: 0;
}

.offcanvas-social > .social-links li > .social-link {
  font-size: 18px;
  width: 40px;
  height: 40px;
  display: inline-block;
  border: 2px solid #2e2e2e;
  border-radius: 100%;
  text-align: center;
  line-height: 38px;
  color: #2e2e2e;
}

.offcanvas-social > .social-links li > .social-link:hover {
  color: #fff;
  border: 2px solid #2e2e2e;
  background-color: #2e2e2e;
}

.dropdown-submenu {
  width: 230px;
  margin-top: 13px;
  border-radius: 5px;
  background-color: #fff;
  border: 1px solid #f1f1f1;
  box-shadow: 0 8px 11px 2px rgb(64 70 74 / 2%);
}

.dropdown-submenu .dropdown-item {
  display: block;
  font-size: 14px;
  width: 100%;
  color: #000000;
  padding: 5px 20px;
}

.dropdown-submenu .dropdown-item:hover {
  color: #2e2e2e;
  background-color: #e6e6e6;
}

.dropdown-submenu .dropdown-item:focus {
  color: #2e2e2e;
  background-color: transparent;
}

.submenu-item:after {
  content: "\f0da";
  font-family: "Font Awesome 6 Free";
  font-weight: 620;
  margin-left: auto;
  font-size: 12px;
}

.pe_5 {
  padding-right: 37px;
}

/* --- Footer --- */

.footer {
  background: #140000;
  color: #fff;
}

.footer-top {
  padding: 20px 0 40px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-content {
  margin-top: 38px;
}

.footer-content h4 {
  font-size: 18px;
  color: #fff;
  margin-bottom: 11px;
  font-weight: 400;
}

.footer-link-list li {
  display: block;
  line-height: 32px;
}

.footer-link,
.footer-link:visited {
  color: rgba(255, 255, 255, 0.8);
}

.footer-link:hover {
  color: rgba(106, 192, 69, 1);
}

.footer-content > .social-links {
  margin-top: 21px;
}

.footer-content > .social-links > li {
  display: inline-block;
  margin-right: 10px;
  margin-bottom: 10px;
}

.footer-content > .social-links > li:last-child {
  margin-right: 0;
}

.footer-content > .social-links li > .social-link {
  font-size: 18px;
  width: 40px;
  height: 40px;
  display: block;
  border: 2px solid rgba(255, 255, 255, 0.7);
  border-radius: 100%;
  text-align: center;
  line-height: 39px;
  color: rgba(255, 255, 255, 0.7);
}

.footer-content > .social-links li > .social-link:hover {
  color: #fff;
  border: 2px solid rgba(106, 192, 69, 1);
  background-color: rgba(106, 192, 69, 1);
}

.download-app-link {
  display: inline-block;
  height: 38px;
  margin-top: 12px;
}

.download-btn {
  transition: all 0.12s ease-in-out 0s;
  text-decoration: none;
  margin-right: 7px;
  vertical-align: inherit;
  display: inline-block;
}

.download-btn img {
  height: 40px;
  width: auto;
  cursor: pointer;
  transition: all 0.12s ease-in-out 0s;
  opacity: 1;
}

.download-btn img:hover {
  opacity: 0.8;
}

/* Footer app download cards */
.footer-app-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  padding: 14px 14px 12px;
  margin-top: 14px;
  transition: background 0.15s, border-color 0.15s;
}

.footer-app-card:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.2);
}

.footer-app-card__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.footer-app-card__icon {
  width: 38px;
  height: 38px;
  border-radius: 9px;
  object-fit: cover;
  flex-shrink: 0;
}

.footer-app-card__name {
  font-size: 0.875rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.2;
  margin: 0 0 2px;
}

.footer-app-card__tag {
  font-size: 0.725rem;
  color: rgba(255, 255, 255, 0.45);
  margin: 0;
  line-height: 1.3;
}

.footer-app-badges {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.footer-app-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 11px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 9px;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s, transform 0.12s;
}

.footer-app-badge:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.22);
  transform: translateY(-1px);
}

.footer-app-badge__icon {
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.85);
  width: 20px;
  text-align: center;
  flex-shrink: 0;
}

.footer-app-badge__text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}

.footer-app-badge__sub {
  font-size: 0.6rem;
  color: rgba(255, 255, 255, 0.48);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.footer-app-badge__store {
  font-size: 0.8rem;
  font-weight: 600;
  color: #fff;
}

.footer-copyright-text p {
  color: rgba(255, 255, 255, 0.8);
  letter-spacing: 0.3px;
}

.footer-copyright-text {
  text-align: center;
  padding: 10px 0;
}

.footer-bottom {
  padding: 20px 0 24px;
}

.footer-bottom-upper {
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 14px;
}

.footer-bottom-upper p {
  margin: 0;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.5;
}

.footer-bottom-upper .copy--legal {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.45);
  margin-top: 4px;
}

.footer-bottom-lower {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 20px;
}

.footer-policy-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-policy-list li {
  display: flex;
  align-items: center;
}

.footer-policy-list li + li::before {
  content: '·';
  margin: 0 8px;
  color: rgba(255, 255, 255, 0.3);
  font-size: 0.9em;
}

.footer-policy-link,
.footer-policy-link:visited {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.55);
  text-decoration: none;
  transition: color 0.15s;
}

.footer-policy-link:hover {
  color: rgba(255, 255, 255, 0.9);
}

.footer-bottom-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}

.footer-sitemap-link,
.footer-sitemap-link:visited {
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.45);
  text-decoration: none;
  transition: color 0.15s;
}

.footer-sitemap-link:hover {
  color: rgba(255, 255, 255, 0.85);
}

@media (max-width: 640px) {
  .footer-bottom-lower {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  .footer-bottom-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

/* Legacy selectors kept for any inline references */
.footer-legal-row { display: contents; }
.footer-legal-left { display: contents; }
.footer-legal-right { display: contents; }

/* --- Index Page --- */

.wrapper {
  margin-top: 1px;
}

.main-btn {
  font-size: 16px;
  color: #fff;
  font-weight: 400;
  text-align: center;
  background: #2e2e2e;
  height: 50px;
  display: inline-block;
  line-height: 49px;
  padding: 0 30px;
  border-radius: 3px;
  border: 1px solid #2e2e2e;
  text-decoration: none;
}

.main-btn:hover {
  color: #ffffff;
}

.grey-btn {
  background-color: grey;
  color: white;
  /* Optional: Set the text color */
}

.grey-btn:hover {
  background-color: black;
  color: white;
  /* Optional: Set the text color */
}

.btn-hover:hover {
  color: #fff;
  background: #514b4b;
  border: 1px solid #514b4b;
}

.co-main-btn {
  color: #000;
  background: #fff;
  border-radius: 3px;
  border: 1px solid #bbb;
  padding: 0 30px;
}

.co-main-btn:hover {
  color: #000;
  background: #e6e6e6;
  border-radius: 3px;
  border: 1px solid #bbb;
}

.co-btn-width {
  width: 270px;
}

.p-80 {
  padding: 57px 0 64px;
}

.flex-d {
  display: flex;
  align-items: center;
  width: 100%;
}

.title-view-link {
  margin-left: auto;
  color: #717171;
  font-size: 14px;
  font-weight: 554;
}

.title-view-link i {
  margin-left: 9px;
}

.title-view-link:hover {
  color: #2e2e2e;
}

.main-title h3 {
  font-size: 32px;
  font-weight: 620;
  margin-bottom: 0;
  color: #000;
  line-height: 52px;
}

.filter-tag {
  text-align: center;
  display: flex;
  overflow: auto;
  white-space: nowrap;
  padding: 31px 0 0;
  margin-bottom: 35px;
}

.filter-tag a.active,
.filter-tag a:hover {
  background: #efefef;
  color: #000;
}

.filter-tag a {
  font-size: 12px;
  color: #717171;
  border: 1px solid #efefef;
  background: #fff;
  height: 32px;
  padding: 7px 20px;
  border-radius: 30px;
  display: inline-block;
  margin-right: 6px;
  margin-bottom: 6px;
}

.mixitup-control-active {
  background: #fff;
  color: #2e2e2e;
}

.controls {
  margin-bottom: 15px;
}

.control {
  position: relative;
  display: inline-block;
  background: #fff;
  height: 50px;
  padding: 0 20px;
  margin-bottom: 5px;
  margin-right: 2px;
  cursor: pointer;
  border: transparent;
  font-size: 14px;
  font-weight: 554;
  color: #000;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  transition: background 150ms;
}

.control:first-of-type {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.control[data-filter]:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  background: transparent;
  transition:
    background-color 150ms,
    border-color 150ms;
}

.mixitup-control-active[data-filter]:after {
  background: transparent;
  border-bottom: 3px solid #2e2e2e;
  color: #2e2e2e;
}

.main-card {
  position: relative;
  border: 1px solid #efefef;
  background-color: #ffffff;
  width: 100%;
  border-radius: 5px;
}

.event-thumbnail {
  width: 100%;
  position: relative;
  padding: 0;
}

.thumbnail-img {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

.event-thumbnail > .thumbnail-img::after {
  content: "";
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), transparent);
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.thumbnail-img:hover {
  outline: 0;
  color: #000;
  transition: 0.3s;
  text-decoration: none;
}

.event-thumbnail a img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  transition: transform 0.5s ease;
}

.event-thumbnail a:hover img {
  transform: scale(1.05);
}

.event-content {
  padding: 15px 20px 20px;
}

.event-content > .event-title {
  font-size: 16px;
  font-weight: 620;
  color: #000;
  line-height: 25px;
  min-height: 50px;
  margin-bottom: 33px;
  transition: all ease-in-out 0.2s;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  display: block;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}

.event-content > .event-title:hover {
  color: #000;
}

.duration-price-remaining {
  display: flex;
  width: 100%;
  align-items: center;
}

.remaining {
  font-size: 14px;
  font-weight: 400;
  margin-left: auto;
  color: #717171;
}

.duration-price {
  font-size: 14px;
  font-weight: 554;
  color: #000;
}

.remaining i {
  font-size: 12px;
  margin-right: 7px;
  transform: rotate(300deg);
}

.event-footer {
  background: rgb(106, 192, 69, 3%);
  padding: 10px 20px;
}

.event-timing {
  display: flex;
  align-items: center;
  color: #717171;
  font-size: 13px;
}

.publish-time {
  margin-left: auto;
}

.publish-date {
  display: flex;
  align-items: center;
}

.dot {
  font-size: 4px;
  margin: 0 10px;
}

.alert {
  padding: 10px;
  background-color: #383838;
  color: white;
  margin-bottom: 15px;
  max-width: 600px;
  margin: 0 auto;
  border-radius: 5px;
}

.bookmark-icon {
  color: #fff;
  font-size: 20px;
  position: absolute;
  z-index: 10;
  right: 20px;
  top: 20px;
  cursor: pointer;
  background-color: #2e2e2e;
  display: block;
  height: 45px;
  width: 45px;
  line-height: 46px;
  border-radius: 30px;
  transition: all 0.4s;
}

.bookmark-icon:before,
.bookmark-icon:after {
  transition:
    opacity 0.3s,
    transform 0.4s cubic-bezier(0, -0.41, 0.19, 2.5);
  font-family: "Font Awesome 6 Free";
  position: absolute;
  right: 0;
  left: 0;
  text-align: center;
  top: 0px;
}

.bookmark-icon:before {
  content: "\f02e";
  transform: scale(0.95);
}

.bookmark-icon:after {
  content: "\f02e";
  opacity: 0;
  transform: scale(0.3);
  font-weight: 620;
}

.bookmark-icon.bookmarked:after {
  opacity: 1;
  transform: scale(0.95);
}

.bookmark-icon:hover,
.like-icon.bookmarked {
  background-color: #2e2e2e;
  color: #fff;
}

.bookmark-icon.bookmarked:before {
  opacity: 0;
}

.browse-btn {
  text-align: center;
  margin-top: 40px;
}

.host-engaging-event-block {
  background: #fff;
}

.main-title p {
  font-size: 16px;
  line-height: 30px;
  margin: 10px 0 33px;
  color: #717171;
}

.host-item {
  padding: 30px;
}

.host-img {
  display: block;
  margin-bottom: 20px;
}

.host-img img {
  width: 50px;
}

.host-item h4 {
  font-size: 18px;
  font-weight: 620;
  margin-bottom: 17px;
  color: #000;
}

.host-item p {
  margin-bottom: 0;
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
  background: #2e2e2e;
}

.owl-theme .owl-dots .owl-dot span {
  background: #efefef;
}

.owl-nav .owl-prev {
  left: -8px;
  font-size: 20px;
  position: absolute;
  top: 45%;
  padding: 0;
  text-align: center;
  height: 30px;
  width: 30px;
  color: #717171;
  background: #fff;
  border-radius: 3px;
  border: 1px solid #efefef;
  box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.07);
}

.owl-nav .owl-next {
  font-size: 20px;
  position: absolute;
  right: -8px;
  top: 45%;
  padding: 0;
  text-align: center;
  height: 30px;
  width: 30px;
  color: #717171;
  background: #fff;
  border-radius: 3px;
  border: 1px solid #efefef;
  box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.07);
}

.owl-nav .owl-prev:hover {
  color: #fff;
  opacity: 1;
  background: #2e2e2e;
  border: 1px solid #2e2e2e;
}

.owl-nav .owl-next:hover {
  color: #fff;
  opacity: 1;
  border: 1px solid #2e2e2e;
  background: #2e2e2e;
}

.engaging-slider .owl-nav .owl-prev {
  top: 35%;
}

.engaging-slider .owl-nav .owl-next {
  top: 35%;
}

.feature-group-list {
  border-top: 2px solid #efefef;
  padding-top: 3px;
}

.mt-46 {
  margin-top: 57px;
}

.feature-item {
  margin-top: 37px;
}

.feature-icon {
  display: block;
  margin-bottom: 24px;
}

.feature-icon img {
  width: 50px;
}

.feature-item h4 {
  font-size: 18px;
  font-weight: 620;
  margin-bottom: 17px;
  color: #000;
}

.feature-item p {
  margin-bottom: 0;
}

.host-step-block {
  background-color: #fff;
}

.step-link {
  font-size: 22px;
  font-weight: 100;
  position: relative;
  box-sizing: border-box;
  width: 25%;
  display: block;
  border: none;
  border-bottom: 1px solid #efefef;
  padding: 1rem;
  color: #bbb;
  background: transparent;
  text-decoration: none;
  transition:
    color 0.15s ease-in-out,
    background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out;
}

.step-tabs .step-link.active,
.step-tabs .show > .step-link {
  color: #fff;
  background-color: #2e2e2e;
}

.step-tabs .step-link:hover {
  background-color: #e6e6e6;
}

.step-tabs .step-link.active span,
.step-tabs .show > .step-link span {
  color: #fff;
}

.step-link span {
  display: block;
  font-size: 16px;
  font-weight: 554;
  color: #000;
}

.step-tabs .step-link.active:hover {
  color: #fff;
  background-color: #2e2e2e;
}

.step-text {
  font-size: 16px;
  font-weight: 554;
  color: #000;
  padding: 37px 0 0;
  margin-bottom: 10px;
}

.step-item {
  margin-top: 37px;
}

.step-icon {
  display: block;
  margin-bottom: 24px;
}

.step-icon img {
  width: 50px;
}

.step-item h4 {
  font-size: 18px;
  font-weight: 620;
  margin-bottom: 17px;
  color: #000;
}

.step-item p {
  margin-bottom: 0;
}

.testimonial-slider-area {
  border-top: 2px solid #efefef;
  padding-top: 38px;
}

.testimonial-content {
  padding: 30px;
  position: relative;
}

.testimonial-text p {
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 0;
  line-height: 30px;
}

.testimonial-user-dt {
  margin-top: 33px;
}

.testimonial-user-dt h5 {
  font-size: 18px;
  font-weight: 554;
  color: #000;
}

.testimonial-user-dt span {
  font-size: 14px;
  color: #717171;
  margin: 10px 0;
  display: block;
}

.testimonial-user-dt ul li {
  display: inline-block;
}

.testimonial-user-dt ul li i {
  color: #ffad21;
}

.quote-icon {
  position: absolute;
  right: 30px;
  font-size: 60px;
  bottom: 3%;
  color: #efefef;
}

.our-organisations-block {
  background-color: #2e2e2e;
}

.our-organisations-block .main-title h3 {
  color: #fff;
}

.organisations-area {
  margin-top: 64px;
}

.sponsor {
  text-align: center;
  line-height: 7;
}

.sponsor a img:hover {
  opacity: 1;
}

.sponsor a img {
  display: inline-block;
  width: auto;
  max-width: 100%;
  height: auto;
  opacity: 0.8;
}

/* =========================================================
   HERO - LIGHT MODE (NO IMAGES)
   Signature look: topo lines + halftone + rings
   ========================================================= */

/* ---------- HOME HERO ---------- */
.hero-banner-home {
  background:
    radial-gradient(
      circle at 22% 28%,
      rgba(255, 255, 255, 0.2),
      transparent 52%
    ),
    radial-gradient(
      circle at 88% 70%,
      rgba(255, 255, 255, 0.1),
      transparent 60%
    ),
    linear-gradient(135deg, #4e0812 0%, #7f1222 45%, #b3122d 100%);

  background-size: cover;
  background-position: center;
  padding: 70px 0 80px;
  position: relative;
  overflow: hidden;
}

/* readability layer */
.hero-banner-home::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.06),
    rgba(0, 0, 0, 0.22)
  );
}

/* signature patterns for home hero too */
.hero-banner-home::after {
  content: "";
  position: absolute;
  inset: -140px -160px -140px -160px;
  z-index: 0;
  pointer-events: none;

  background:
        /* halftone dots (right) */
    radial-gradient(circle, rgba(255, 255, 255, 0.22) 1.2px, transparent 1.4px),
    /* topo contour lines (unique) */
    repeating-radial-gradient(
        circle at 25% 25%,
        rgba(255, 255, 255, 0.1) 0 1px,
        transparent 1px 14px
      ),
    /* diagonal cut highlight */
    linear-gradient(
        120deg,
        transparent 40%,
        rgba(255, 255, 255, 0.1) 52%,
        transparent 64%
      );

  background-size:
    26px 26px,
    cover,
    cover;
  background-position:
    calc(100% + 120px) 0,
    center,
    center;

  -webkit-mask-image: linear-gradient(
    to left,
    rgba(0, 0, 0, 1),
    rgba(0, 0, 0, 0)
  );
  mask-image: linear-gradient(to left, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));

  opacity: 0.9;
  animation: heroPatternShift 14s ease-in-out infinite alternate;
}

/* ---------- MAIN HERO (MOST IMPORTANT) ---------- */
.hero-banner {
  background:
    radial-gradient(
      circle at 18% 30%,
      rgba(255, 255, 255, 0.18),
      transparent 52%
    ),
    radial-gradient(
      circle at 78% 20%,
      rgba(255, 255, 255, 0.1),
      transparent 55%
    ),
    linear-gradient(135deg, #450610 0%, #7b1221 40%, #b3122d 100%);

  background-size: cover;
  background-position: center;
  padding: 70px 0 80px;
  position: relative;
  overflow: hidden;
}

/* readability + soft vignette */
.hero-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(
      circle at 50% 40%,
      transparent 0 58%,
      rgba(0, 0, 0, 0.18) 100%
    ),
    linear-gradient(to bottom, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.22));
}

/* UNIQUE PATTERN SYSTEM (topo + dots + rings + diagonal) */
.hero-banner::after {
  content: "";
  position: absolute;
  inset: -160px -180px -160px -180px;
  /* overscan */
  z-index: 1;
  pointer-events: none;

  background:
        /* topographic contour lines (signature) */
    repeating-radial-gradient(
      circle at 28% 38%,
      rgba(255, 255, 255, 0.14) 0 1px,
      transparent 1px 14px
    ),
    repeating-radial-gradient(
      circle at 72% 62%,
      rgba(255, 255, 255, 0.08) 0 1px,
      transparent 1px 18px
    ),
    /* halftone dot field on right */
    radial-gradient(circle, rgba(255, 255, 255, 0.22) 1.2px, transparent 1.4px),
    radial-gradient(circle, rgba(255, 255, 255, 0.12) 0.9px, transparent 1.1px),
    /* rings (right) */
    radial-gradient(
        circle at 88% 30%,
        transparent 0 56%,
        rgba(255, 255, 255, 0.18) 57%,
        transparent 58%
      ),
    radial-gradient(
      circle at 96% 70%,
      transparent 0 62%,
      rgba(255, 255, 255, 0.12) 63%,
      transparent 64%
    ),
    /* diagonal “cut” highlight */
    linear-gradient(
        120deg,
        transparent 38%,
        rgba(255, 255, 255, 0.14) 52%,
        transparent 66%
      );

  background-size:
    cover,
    cover,
    26px 26px,
    18px 18px,
    cover,
    cover,
    cover;

  background-position:
    center,
    center,
    calc(100% + 140px) 0,
    calc(100% + 160px) 12px,
    center,
    center,
    center;

  /* fade patterns so they build towards the right */
  -webkit-mask-image: linear-gradient(
    to left,
    rgba(0, 0, 0, 1),
    rgba(0, 0, 0, 0)
  );
  mask-image: linear-gradient(to left, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));

  opacity: 0.95;
  animation: heroPatternShift 14s ease-in-out infinite alternate;
}

/* subtle, premium motion */
@keyframes heroPatternShift {
  from {
    transform: translate(0, 0);
  }

  to {
    transform: translate(-20px, 16px);
  }
}

/* ---------- HERO CONTENT ---------- */
.hero-banner-content {
  text-align: center;
  position: relative;
  z-index: 2;
}

.hero-banner-content h2 {
  font-size: 32px;
  line-height: 48px;
  font-weight: 650;
  margin-bottom: 15px;
  color: rgba(255, 255, 255, 0.96);
  letter-spacing: -0.3px;
}

.hero-banner-content p {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.84);
  margin-bottom: 33px;
  padding: 0 30px;
  line-height: 32px;
}

/* mobile balance */
@media (max-width: 768px) {
  .hero-banner-content p {
    padding: 0 12px;
  }

  .hero-banner::after,
  .hero-banner-home::after {
    opacity: 0.75;
  }
}

/* ---------- HERO COVER (NO IMAGE) ---------- */
.hero-cover-block {
  height: 260px;
  position: relative;
}

.hero-cover {
  position: absolute;
  inset: 0px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  overflow: hidden;

  background:
    linear-gradient(
      135deg,
      rgba(179, 18, 45, 0.14) 0%,
      rgba(0, 0, 0, 0.03) 70%
    ),
    radial-gradient(
      circle at 20% 30%,
      rgba(255, 255, 255, 0.55),
      transparent 60%
    );
}

/* replace url(...) with modern pattern */
.hero-cover-img {
  background-size: cover;
  background-position: center center;
  position: absolute;
  inset: 0px;

  background:
    repeating-linear-gradient(
      135deg,
      rgba(179, 18, 45, 0.1) 0 2px,
      transparent 2px 10px
    ),
    radial-gradient(circle at 80% 35%, rgba(179, 18, 45, 0.2), transparent 60%),
    linear-gradient(
      135deg,
      rgba(0, 0, 0, 0.03) 0%,
      rgba(179, 18, 45, 0.1) 60%,
      rgba(134, 19, 36, 0.12) 100%
    );

  filter: none;
  transition: all 0.12s ease-in-out 0s;
  opacity: 1;
}

/* ---------- HERO SIDE BANNER (NO IMAGE DEPENDENCY) ---------- */
.hero-side-banner {
  width: 100%;
  height: 250px;
  padding: 30px;
  border-radius: 12px;
  position: relative;
  overflow: hidden;

  background:
    radial-gradient(
      circle at 20% 35%,
      rgba(255, 255, 255, 0.85),
      transparent 60%
    ),
    linear-gradient(
      135deg,
      rgba(179, 18, 45, 0.1) 0%,
      rgba(255, 255, 255, 0.85) 55%,
      rgba(134, 19, 36, 0.08) 100%
    );

  box-shadow: 0 8px 11px 2px rgb(64 70 74 / 6%);
  border: 1px solid rgba(0, 0, 0, 0.06);
}

.hero-side-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;

  background:
        /* corner ring */
    radial-gradient(
      circle at 88% 40%,
      transparent 0 62%,
      rgba(179, 18, 45, 0.18) 63%,
      transparent 64%
    ),
    /* subtle dot cluster */
    radial-gradient(circle, rgba(179, 18, 45, 0.16) 1.2px, transparent 1.4px);

  background-size:
    cover,
    22px 22px;
  background-position:
    center,
    calc(100% + 120px) 0;

  -webkit-mask-image: linear-gradient(
    to left,
    rgba(0, 0, 0, 1),
    rgba(0, 0, 0, 0)
  );
  mask-image: linear-gradient(to left, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
  opacity: 0.85;
}

/* If the HTML still has <img>, hide it so design is consistent */
.hero-side-banner img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0;
  pointer-events: none;
}

/* ---------- CONTACT HERO (NO IMAGE) ---------- */
.contact-banner-block {
  padding: 5px;
}

.contact-hero-banner {
  min-height: 461px;
  width: 100%;
  padding: 50px;
  border-radius: 6px;
  position: relative;
  overflow: hidden;

  background:
    radial-gradient(
      circle at 20% 30%,
      rgba(255, 255, 255, 0.12),
      transparent 52%
    ),
    radial-gradient(
      circle at 85% 75%,
      rgba(255, 255, 255, 0.08),
      transparent 55%
    ),
    linear-gradient(135deg, #3f060f 0%, #6f1020 45%, #a91f33 100%);
}

.contact-hero-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.08),
    rgba(0, 0, 0, 0.3)
  );
  z-index: 0;
}

/* dotted + topo hybrid on right */
.contact-hero-banner::after {
  content: "";
  position: absolute;
  inset: -140px -160px -140px -160px;
  pointer-events: none;
  z-index: 1;

  background:
    repeating-radial-gradient(
      circle at 30% 40%,
      rgba(255, 255, 255, 0.1) 0 1px,
      transparent 1px 16px
    ),
    radial-gradient(circle, rgba(255, 255, 255, 0.14) 1.1px, transparent 1.3px);

  background-size:
    cover,
    24px 24px;
  background-position:
    center,
    calc(100% + 140px) 0;

  -webkit-mask-image: linear-gradient(
    to left,
    rgba(0, 0, 0, 1),
    rgba(0, 0, 0, 0)
  );
  mask-image: linear-gradient(to left, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
  opacity: 0.65;
}

/* keep content above overlays */
.contact-hero-banner > * {
  position: relative;
  z-index: 2;
}

.contact-hero-banner-info h3 {
  font-size: 32px;
  color: rgba(255, 255, 255, 0.96);
  margin-bottom: 15px;
}

.contact-hero-banner-info p {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.84);
  margin-bottom: 60px;
}

.contact-hero-banner-info ul li {
  margin-bottom: 20px;
}

.contact-hero-banner-info ul li:last-child {
  margin-bottom: 0;
}

/* --- Explore Events --- */

.search-form {
  margin-top: 33px;
}

.search-category .bootstrap-select .dropdown-menu li a span.text {
  margin-left: 7px;
}

.search-category
  .bootstrap-select
  .dropdown-toggle
  .filter-option-inner-inner
  i {
  margin-right: 7px;
}

.form-control {
  font-size: 14px;
  color: #111827;
  background-color: #fff;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease;
  padding: 10px 14px;
  min-height: 46px;
  box-shadow: none;
}

.form-select,
select.form-control {
  color: #111827;
  background-color: #fff;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  min-height: 46px;
  padding: 10px 38px 10px 14px;
  box-shadow: none;
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease;
}

.form-control::placeholder {
  color: #9ca3af;
  opacity: 1;
}

.form-control:focus,
.form-select:focus,
select.form-control:focus {
  color: #111827;
  background-color: #fff;
  border-color: #7b0202;
  box-shadow: 0 0 0 3px rgba(123, 2, 2, .12);
}

.form-control:disabled,
.form-control[readonly],
.form-select:disabled,
select.form-control:disabled {
  color: #6b7280;
  background-color: #f3f4f6;
  border-color: #e5e7eb;
  opacity: 1;
  cursor: not-allowed;
}

textarea.form-control {
  min-height: 110px;
  padding: 12px 14px;
  line-height: 1.55;
}

.form-textarea {
  font-size: 14px;
  color: #717171;
  background-color: #f9f9f9;
  border: 1px solid #ffc4c4;
  border-radius: 3px;
  transition: none;
  padding: 0 15px;
  display: block;
  width: 100%;
  min-height: 90px;
  padding: 0.8rem 1rem;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.form-textarea:focus {
  color: #717171;
  background-color: #f9f9f9;
  border-color: #ff7a92;
  box-shadow: none;
}

@media (max-width: 767.98px) {
  input[type="text"],
  input[type="search"],
  input[type="email"],
  input[type="password"],
  input[type="tel"],
  input[type="url"],
  input[type="number"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"],
  select,
  textarea,
  .form-control,
  .form-select,
  .form-textarea,
  .bootstrap-select > .dropdown-toggle,
  .bs-searchbox .form-control {
    font-size: 16px !important;
  }
}

.bs-searchbox .form-control {
  width: 100%;
  float: none;
  margin-bottom: 7px;
}

.search-form .btn-light {
  display: block;
  font-size: 16px;
  font-weight: 400;
  color: #717171;
  background-color: #fff;
  border: 1px solid #efefef;
  padding: 5px 20px;
  min-height: 50px;
  border-radius: 3px;
  transition: none;
}

.btn-light {
  display: block;
  font-size: 14px;
  font-weight: 400;
  color: #717171;
  background-color: #fff;
  border: 1px solid #efefef;
  padding: 5px 20px;
  min-height: 40px;
  border-radius: 3px;
  transition: none;
}

.bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(
    .input-group-btn
  ) {
  width: 100%;
}

.bootstrap-select .dropdown-menu.inner {
  padding: 0px;
  border: 0;
  box-shadow: none;
  display: inline-block;
}

.main-form .bootstrap-select .dropdown-toggle:focus,
.main-form .bootstrap-select > select.mobile-device:focus + .dropdown-toggle {
  outline: none;
  outline: none;
  outline-offset: -2px;
  border-color: #ff7a92;
  box-shadow: none;
}

.bootstrap-select .dropdown-item.active,
.bootstrap-select .dropdown-item:active {
  color: #fff;
  border-radius: 0;
  background-color: #2e2e2e;
}

.bootstrap-select.dropdown-item.active,
.bootstrap-select .dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: #2e2e2e;
}

.bootstrap-select .dropdown-item {
  color: #000;
  font-weight: 400;
  font-size: 14px;
  padding: 10px 20px;
}

.bootstrap-select > .dropdown-toggle:after {
  margin-left: -10px;
}

.dropdown-menu {
  border-radius: 3px;
  background-color: #fff;
  border: 1px solid #f1f1f1;
  box-shadow: 0 8px 11px 2px rgb(64 70 74 / 2%);
}

.link-item-btn {
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
}

/* force a full-width row at bottom of dropdown */
.dropdown-menu-account .theme-switch-row {
  width: 100%;
  padding: 8px 12px 12px;
}

/* this wrapper is what actually pushes the switch to the right */
.dropdown-menu-account .theme-switch-row .theme-switch-wrap {
  width: 100%;
  display: flex;
  justify-content: flex-end;
}

/* kill common overrides that keep it stuck left */
.dropdown-menu-account .theme-switch-row .js-night-mode-toggle {
  float: none;
  margin: 0;
  display: inline-flex;
}

.preloader {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: #fff;
  display: grid;
  place-items: center;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease, visibility 0s 0.3s;
}

.pre-loaded .preloader {
  opacity: 0;
  visibility: hidden;
}

.preloader-ring {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 2px solid rgba(0, 0, 0, 0.1);
  border-top-color: #000;
  animation: preloader-spin 0.7s linear infinite;
}

@keyframes preloader-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .preloader-ring {
    animation: none;
    opacity: 0.4;
  }

  .pre-loaded .preloader {
    transition: none;
  }
}

.sr-blog-admin-detail-list {
  font-size: 0.875rem;
}

.sr-blog-admin-detail-list__error {
  color: #dc2626;
}

/* Source: public_html/chat/bot.php - chat widget bot states */
.sr-chat-bot-bubble {
  background: #f5f4f1;
  color: #111827;
}

.sr-chat-bot-name {
  display: block;
  margin-bottom: 2px;
  color: #6b7280;
  font-size: .72rem;
  font-weight: 700;
}

.sr-chat-bot-link {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 8px;
  background: #fff;
  color: var(--sr-chat-accent, #1a56db);
  font-size: .78rem;
  font-weight: 700;
  text-decoration: none;
}

.sr-chat-talk-human {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 8px 12px;
  border: 0;
  border-radius: 8px;
  background: var(--sr-chat-accent, #1a56db);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.sr-chat-typing {
  flex-shrink: 0;
  align-items: center;
  gap: 4px;
  padding: 8px 16px;
}

#notificationDropdown::after {
  content: none;
  display: none;
}

.notification-dropdown .fa-bell,
.notification-dropdown .fas.fa-bell {
  font-size: 20px;
  line-height: 1;
}

.notification-count,
.badge-warning {
  position: absolute;
  top: -2px;
  right: -0px;
  z-index: 2;

  min-width: 18px;
  height: 18px;
  padding: 0 5px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 999px;
  background: #ef4444;

  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2px;

  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
}

.notification-dropdown .dropdown-menu {
  width: 360px;
  max-width: 90vw;
  padding: 8px 0;
  margin-top: 10px;

  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  background: #ffffff;

  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.18);
  transform: translateX(-95%);
}

.notifications-body {
  max-height: 320px;
  overflow: auto;
}

.notification-dropdown .dropdown-item {
  padding: 10px 14px;
  white-space: normal;
  font-size: 13px;
  line-height: 1.35;
}

.notification-dropdown .dropdown-item strong {
  font-weight: 700;
}

.notification-dropdown .dropdown-item:hover {
  background: #f8fafc;
}

.notification-dropdown .dropdown-item:active {
  background: #eef2ff;
}

.notification-dropdown .dropdown-item:focus {
  outline: none;
  background: #f1f5f9;
}

.notification-dropdown .dropdown-item:focus-visible {
  outline: 2px solid #250101;
  outline-offset: -2px;
  border-radius: 8px;
}

.notification-dropdown .dropdown-divider {
  margin: 6px 0;
}

/* -- pop up message -- */
.popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 80;
}

.popup-content {
  position: relative;
  padding: 20px;
  background: #fff;
  border-radius: 5px;
  width: 80%;
  max-width: 500px;
  text-align: center;
  font-family: "Roboto", sans-serif;
  margin: auto;
}

.popup-content img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto 20px;
}

.close-btn {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 25px;
  cursor: pointer;
}

.popup-link {
  display: inline-block;
  background-color: #1f1f1f;
  color: #fff;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 5px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
}

.popup-link:hover,
.popup-link:focus {
  background-color: #ffc5c5;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
  color: #fff;
  text-decoration: none;
}

/* Responsive adjustments */
@media (min-width: 1025px) {
  .popup-content {
    width: 40%;
    max-width: 450px;
  }
}

@media (max-width: 1024px) {
  .popup-overlay {
    padding-top: 0;
  }

  .popup-content {
    width: 70%;
    padding: 15px;
  }
}

@media (max-width: 768px) {


  .popup-content {
    width: 80%;
    padding: 10px;
    max-width: none;
  }

  .close-btn {
    font-size: 20px;
  }
}

/* --- search css -- */
.home-search-curved-search-box {
  display: flex;
  align-items: center;
  background: transparent;
  padding: 10px 5px;
  border: 1px solid #ddd;
  border-radius: 50px;
  cursor: pointer;
  font: inherit;
  width: fit-content;
  margin-left: 4px;
  color: #4f4f4f;
}

.home-search-search-section,
.home-search-location-section {
  display: flex;
  align-items: center;
}

.home-search-search-icon,
.home-search-location-icon {
  font-size: 12px;
}

.home-search-vertical-separator {
  height: 24px;
  width: 3px;
  background-color: #d1adad;
  margin-left: 10px;
  margin-right: 15px;
}

.home-search-search-text {
  margin-left: 5px;
  font-size: 14px;
  color: #4f4f4f;
}

.home-search-search-icon {
  margin-right: 10px;
}

.home-search-location-icon {
  margin-right: 5px;
}

.home-search-location-text {
  font-size: 14px;
  color: #4f4f4f;
  padding-right: 5px;
}

.home-search-modal-full-search {
  min-width: 100vw;
  margin: 0;
}

.home-search-modal-dialog-search {
  width: 100%;
  max-width: none;
  height: 70%;
  margin: 0;
}

.home-search-modal-content-search {
  border: 0;
  border-radius: 0;
}

.home-search-modal-body-search {
  display: flex;
  flex-direction: row;
  flex-direction: column;
  height: 80vh;
}

.home-search-search-input-container {
  display: flex;
  align-items: center;
  padding: 20px;
  width: 100%;
}

.home-search-suggestion-container {
  flex: 1;
  display: flex;
  padding: 20px;
}

.home-search-modal-body-text-search {
  flex: 1;
  padding: 20px;
  overflow-y: auto;
}

.home-search-modal-body-image-search {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.home-search-image-container-search {
  width: auto;
  height: 170px;
  max-width: 300px;
}

.home-search-submit-button {
  border: none;
  background: none;
  font-size: 34px;
  line-height: 50px;
  color: #333;
  font-weight: bold;
  padding: 0 15px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
  transition:
    transform 0.3s ease,
    color 0.3s ease;
}

.home-search-submit-button:hover {
  color: #555;
  transform: scale(1.1);
}

.home-search-search-input-container input {
  height: 60px;
  /* Increase input height */
  font-size: 18px;
  font-weight: bold;
  color: #646464;
  padding: 10px 20px;
  border-radius: 5px;
  border: 2px solid #240000;
  outline: none;
}

.home-search-search-input-container input::placeholder {
  font-size: 16px;
  font-weight: bold;
  color: #aeaeae;
  opacity: 1;
}

.home-search-search-input-container input:focus {
  border-color: #e96666;
  box-shadow: 0 0 0 3px rgba(102, 175, 233, 0.5);
}

@media (max-width: 768px) {
  .home-search-vertical-separator {
    height: 20px;
    margin-left: 10px;
    margin-right: 10px;
  }

  .home-search-location-text {
    padding-right: 5px;
  }

  .home-search-image-container-search {
    max-width: 250px;
  }
}

@media (max-width: 480px) {
  .home-search-curved-search-box {
    padding: 8px 5px;
  }

  .home-search-vertical-separator {
    height: 20px;
    margin-left: 5px;
    margin-right: 5px;
  }

  .home-search-location-text,
  .home-search-search-text {
    font-size: 12px;
    padding-right: 5px;
  }


  .home-search-modal-full-search,
  .home-search-modal-content-search {
    min-width: 100vw;
    width: 100%;
    margin: 0;
    border: 0;
    border-radius: 0;
  }

  .home-search-modal-dialog-search {
    min-width: 100vw;
    width: 100%;
    height: 70%;
    margin: 0;
    border: 0;
    border-radius: 0;
  }
}

@media (min-width: 1280px) {
  .home-search-curved-search-box {
    padding: 8px 10px;
  }


  .home-search-location-text,
  .home-search-search-text {
    font-size: 12px;
    padding-right: 10px;
  }



}

@media (max-width: 380px) {
  .home-search-curved-search-box {
    padding: 8px 0.5px;
    margin-left: 2px;
  }


  .home-search-location-text,
  .home-search-search-text {
    font-size: 12px;
    padding-right: 0.5px;
  }



}

@media (min-width: 10px) and (max-width: 300px) {
  .home-search-location-section {
    display: none;
  }

  .home-search-vertical-separator {
    visibility: hidden;
  }
}

.home-search-modal-footer {
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem;
  border-top: 1px solid #dee2e6;
  border-bottom-right-radius: calc(0.3rem - 1px);
  border-bottom-left-radius: calc(0.3rem - 1px);
}

.fancy-list {
  list-style-type: none;
  padding-left: 0;
}

.fancy-list li::before {
  content: "✦";
  color: teal;
  display: inline-block;
  width: 1em;
  margin-right: 1em;
}

.teal-link-list a {
  color: #2e2e2e;
  text-decoration: none;
}

.teal-link-list a:hover {
  color: #828282;
  text-decoration: underline;
}

@media only screen and (min-width: 1440px) and (max-width: 1800px) and (-webkit-min-device-pixel-ratio: 2),
  only screen and (min-width: 1440px) and (max-width: 1800px) and (min-resolution: 192dpi) {
  .home-search-curved-search-box {
    padding: 12px 24px;
  }


  .home-search-search-icon,
  .home-search-location-icon {
    font-size: 14px;
  }

  .home-search-vertical-separator {
    height: 28px;
    width: 2px;
    background-color: #d1adad;
    margin-left: 90px;
    margin-right: 20px;
  }

  .home-search-search-text,
  .home-search-location-text {
    font-size: 16px;
    color: #4f4f4f;
  }


  .home-search-search-icon {
    margin-right: 12px;
  }

  .home-search-location-icon {
    margin-right: 8px;
  }

  .home-search-image-container-search {
    max-width: 350px;
  }
}

.search-modal-full {
  min-width: 100vw;
  margin: 0;
}

.search-modal-dialog {
  width: 100%;
  max-width: none;
  height: 100%;
  margin: 0;
}

.search-modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}

.home-search-search-and-text-container {
  display: flex;
  flex-direction: column;
  padding-right: 20px;
  /* Adjust as needed */
}

@media (min-width: 1024px) {
  .home-search-modal-body-search {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    height: 80vh;
    padding: 40px;
  }

  .home-search-search-and-text-container {
    width: 40%;
    padding-right: 20px;
  }

  .home-search-modal-body-text-search {
    overflow-y: auto;
    order: 2;
  }

  .home-search-search-input-container {
    order: 1;
  }

  .home-search-modal-body-image-search {
    width: 60%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
  }
}

/* ---- end of search --- */

/* --- Sign In and Sign Up Pages --- */

.app-form {
  -webkit-box-orient: horizontal;
  -ms-flex-direction: row;
  flex-direction: row;
  min-height: 100vh;
}

.app-form-sidebar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  min-height: 100vh;
  background: #2e2e2e url(../images/sign_bg.jpg);
  width: 500px;
  padding: 50px;
}

.sidebar-sign-logo {
  width: 140px;
}

.sidebar-sign-logo img {
  max-height: 40px;
  width: auto;
}

.app-form-content {
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.app-form,
.app-form-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
}

.app-form-content {
  padding: 50px 0;
  background: #fff;
}

.app-top-items {
  display: flex;
  align-items: center;
  width: 100%;
}

.app-top-right-link {
  margin-left: auto;
  margin-top: 5px;
  color: #231f20;
  font-size: 14px;
  font-weight: 400;
}

.sidebar-register-link {
  margin-left: 5px;
  font-weight: 554;
}

.sidebar-register-link:hover {
  color: #514b4b;
}

.signup-link {
  margin-left: 5px;
  color: #2e2e2e;
  font-weight: 554;
}

.signup-link:hover {
  color: #514b4b;
}

.registration-title {
  margin-top: 35px;
  font-size: 24px;
  font-weight: 620;
  margin-bottom: 0;
}

.pass-show-eye {
  color: #717171;
  font-weight: 620;
  position: absolute;
  background: transparent;
  right: 5px;
  top: 5px;
  min-height: 40px;
  padding: 0 15px;
  line-height: 40px;
  margin-bottom: 0;
  border-radius: 3px;
  cursor: pointer;
}

.pass-show-eye:hover {
  color: #514b4b;
}

.field-password {
  position: relative;
}

.forgot-pass-link {
  position: absolute;
  top: 0;
  right: 0;
  font-weight: 554;
}

.forgot-pass-link:hover {
  color: #514b4b;
}

.divider {
  position: relative;
  text-align: center;
  z-index: 1;
  margin: 30px 0;
}

.divider:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1px;
  z-index: -1;
  transform: translate(-50%, -50%);
  background: rgba(112, 112, 112, 0.2);
}

.divider span {
  background: #fff;
  padding: 0 10px;
  font-size: 16px;
  font-weight: 554;
  color: #000;
}

.hr-line-dt {
  position: absolute;
  left: 0;
  top: -10px;
  padding: 0 20px 0 20px;
  background: #f9f9f9;
  color: #717171;
  font-size: 14px;
  font-weight: 554;
}

.new-sign-link {
  margin-top: 30px;
  text-align: center;
  margin-bottom: 35px;
}

.copyright-footer {
  text-align: center;
  color: #000;
  font-size: 14px;
  font-weight: 400;
  padding: 0 30px;
}

.sign_sidebar_text h1 {
  font-weight: 620;
  font-size: 30px;
  line-height: 38px;
  color: #fff;
}

.h_40 {
  height: 40px;
  line-height: 40px;
  font-size: 14px;
}

.h_45 {
  width: 50%;
  height: 55px;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
}

.h_50 {
  height: 55px;
  line-height: 50px;
  font-size: 16px;
}

.min-width {
  min-width: 130px;
  min-height: 40px;
  line-height: 39px;
}

.sign-logo {
  display: none;
}

.sign-logo img {
  max-height: 40px;
  width: auto;
  padding-top: 0;
}

.hr-text {
  line-height: 1em;
  position: relative;
  outline: 0;
  border: 0;
  color: black;
  text-align: center;
  height: 1.5em;
  opacity: 0.5;
}

.form-label {
  font-size: 14px;
  font-weight: 554;
  color: #000;
  margin-bottom: 10px;
  display: block;
}

.social-login-btn {
  display: block;
  font-size: 16px;
  font-weight: 554;
  width: 100%;
  height: 50px;
  border: 1px solid #efefef;
  background: #fff;
  border-radius: 3px;
  margin-bottom: 10px;
}

.social-login-btn:hover {
  background: #f5f5f5;
}

.registration .form-control {
  background-color: #f9f9f9;
}

.agree-text {
  padding-top: 20px;
  line-height: 26px;
  font-size: 14px;
  color: #000;
}

.agree-text a {
  color: #2e2e2e;
}

.agree-text a:hover {
  color: #514b4b;
  text-decoration: underline;
}

/* =========================
   Breadcrumb Block (NEW)
   ========================= */

.breadcrumb-block {
  /* Deep red brand gradient with subtle depth */
  background:
    radial-gradient(
      circle at 20% 40%,
      rgba(255, 255, 255, 0.14),
      transparent 55%
    ),
    linear-gradient(120deg, #5f0d18 0%, #8f1627 55%, #b82336 100%);

  padding: 34px 0;
  position: relative;
  overflow: hidden;
}

/* Soft dark overlay to improve text contrast */
.breadcrumb-block::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.08),
    rgba(0, 0, 0, 0.25)
  );
  pointer-events: none;
}

/* Right-side pattern + glow */
.breadcrumb-block::after {
  content: "";
  position: absolute;
  top: -20px;
  right: -120px;
  width: 520px;
  height: calc(100% + 40px);
  pointer-events: none;

  /* layered pattern (dots + rings) */
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.18) 2px, transparent 3px),
    radial-gradient(circle, rgba(255, 255, 255, 0.1) 1px, transparent 2px),
    radial-gradient(
      circle at 35% 55%,
      rgba(255, 255, 255, 0.18),
      transparent 55%
    );

  background-size:
    44px 44px,
    24px 24px,
    cover;
  background-position:
    0 0,
    14px 12px,
    center;

  opacity: 0.5;
  filter: blur(0.2px);
}

/* Keep content above overlays */
.breadcrumb-block > * {
  position: relative;
  z-index: 1;
}

/* =========================
   Breadcrumb Typography (NEW)
   ========================= */

.showrave-breadcrumb ol.breadcrumb {
  margin: 0;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  display: block;
  width: 100%;
}

.showrave-breadcrumb .breadcrumb .breadcrumb-item {
  display: inline;
  font-weight: 554;
}

/* Links: white w/ nice hover */
.showrave-breadcrumb .breadcrumb .breadcrumb-item a {
  color: rgba(255, 255, 255, 0.92);
  text-decoration: none;
  transition: opacity 160ms ease;
}

.showrave-breadcrumb .breadcrumb .breadcrumb-item a:hover {
  opacity: 0.82;
}

/* Active item: slightly muted white */
.showrave-breadcrumb .breadcrumb .breadcrumb-item.active {
  color: rgba(255, 255, 255, 0.75);
}

/* Separator */
.showrave-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  float: none;
  color: rgba(255, 255, 255, 0.75);
}

/* --- Event Detail View Page --- */

.event-top-dts {
  display: flex;
  width: 100%;
  position: relative;
}

.event-top-date {
  height: 100px;
  width: 100px;
  border: 1px solid #efefef;
  background: #fff;
  text-align: center;
  border-radius: 3px;
}

.event-month {
  display: block;
  background: #2e2e2e;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  font-size: 18px;
  font-weight: 554;
  color: #fff;
  padding: 5px 0;
  text-transform: uppercase;
}

.event-date {
  font-size: 30px;
  padding: 8px 0;
  display: block;
  font-weight: 554;
  color: #000;
}

.event-top-dt {
  margin-left: 27px;
}

.event-type-name {
  font-size: 16px;
  font-weight: normal;
  color: #717171;
  position: relative;
}

.event-top-dt .event-top-info-status .event-type-name {
  padding-left: 11px;
  margin-right: 10px;
}

.event-top-dt .event-top-info-status .event-type-name:nth-child(1) {
  padding-left: 0;
}

.event-top-dt .event-top-info-status .event-type-name:nth-child(1) i {
  padding-right: 10px;
}

.event-main-title {
  font-size: 30px;
  font-weight: 620;
  margin-bottom: 18px;
  color: #000;
}

.details-hr:after {
  content: "";
  width: 4px;
  height: 4px;
  background: #000;
  border-radius: 100%;
  display: inline-block;
  left: 0;
  top: 8px;
  position: absolute;
}

.event-img {
  position: relative;
  border-radius: 5px;
}

.event-img img {
  width: 100%;
  border-radius: 5px;
}

.additional-images {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: -5px;
  padding-top: 20px;
}

.additional-image {
  padding: 5px;
  flex: 0 1 calc(50% - 10px);
  box-sizing: border-box;
  height: auto;
}

.additional-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
  cursor: pointer;
}

@media (min-width: 600px) {
  .additional-image {
    flex: 0 1 calc(33.333% - 10px);
  }
}

@media (min-width: 768px) {
  .additional-image {
    flex: 0 1 calc(25% - 10px);
  }
}

@media (min-width: 992px) {
  .additional-image {
    flex: 0 1 calc(20% - 10px);
  }
}

@media (min-width: 1200px) {
  .additional-image {
    flex: 0 1 calc(16.666% - 10px);
  }
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 64px);
  max-width: 60%;
  margin: 0 auto;
}

.modal-dialog-scrollable .modal-content {
  max-height: calc(100vh - 64px);
  overflow-y: auto;
}

.modal-body img {
  width: 100%;
  height: auto;
  border-radius: 5px;
}

.main-event-dt {
  margin-top: 40px;
}

.main-event-content {
  margin-top: 37px;
}

.main-event-content img {
  max-width: 800px;
  height: auto;
  display: block;
  margin: 0 auto;
}

@media (max-width: 800px) {
  .main-event-content img {
    max-width: 100%;
  }
}

.main-event-content h4 {
  font-size: 18px;
  font-weight: 620;
  margin-bottom: 13px;
  color: #000;
}

.main-event-content p {
  margin-bottom: 27px;
}

.main-event-content p:last-child {
  margin-bottom: 0;
}

.booking-ends h4 {
  font-size: 18px;
  font-weight: 620;
  margin-bottom: 20px;
  color: #000;
  text-transform: uppercase;
  text-align: center;
}

.booking-ends {
  padding: 37px 20px 0;
}

.event-right-dt {
  margin-top: 40px;
}

.countdown {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 20px 20px 0;
}

.countdown-item {
  width: 100%;
  padding: 12px 0;
  text-align: center;
  color: #fff;
  font-size: 12px;
  font-weight: 554;
  text-transform: uppercase;
  background-color: #2e2e2e;
  margin-right: 5px;
  border-radius: 3px;
  box-shadow:
    0 1px 3px rgb(0 0 0 / 6%),
    0 1px 3px rgb(0 0 0 / 5%);
}

.countdown-item:last-child {
  margin-right: 0;
}

.countdown-item span {
  display: block;
  font-size: 26px;
  font-weight: 400;
}

.event-dt-right-group {
  display: flex;
  width: 100%;
  align-items: flex-start;
  padding: 0 20px;
  margin-bottom: 37px;
}

.event-dt-right-content {
  margin-left: 15px;
}

/* Responsive image styles within the container */
.event-dt-right-content img {
  max-width: 300px;
  height: auto;
  display: block;
  margin: 0 auto;
}

.event-dt-right-icon i {
  font-size: 16px;
  color: #2e2e2e;
  text-align: center;
  width: 40px;
  height: 40px;
  line-height: 40px;
  background: #e6e6e6;
  border-radius: 50%;
}

.event-dt-right-content h4 {
  font-size: 14px;
  margin-bottom: 13px;
  font-weight: 400;
  color: #717171;
}

.event-dt-right-content h5 {
  font-size: 16px;
  margin-bottom: 0;
  color: #000;
  font-weight: 554;
  font-family: inherit;
}

.event-dt-right-content a {
  font-weight: 554;
  margin-top: 13px;
  display: inline-block;
}

.event-dt-right-content a:hover {
  color: #514b4b;
}

.booking-btn {
  padding: 0 20px 20px;
}

.add-to-calendar .dropdown-item {
  display: block;
  font-size: 14px;
  width: 100%;
  color: #000000;
  font-weight: 400;
  padding: 10px 20px;
  margin-top: 0;
}

.dropdown-item {
  display: block;
  font-size: 14px;
  width: 100%;
  color: #000000;
  font-weight: 400;
  padding: 10px 20px;
  margin-top: 0;
}

.dropdown-item:hover {
  color: #2e2e2e;
  background-color: #e6e6e6;
}

.share-save-btns {
  text-align: center;
  margin-top: 30px;
}

.sv-btn {
  font-size: 16px;
  font-weight: 554;
  color: #000;
  height: 40px;
  width: 110px;
  border: 1px solid #efefef;
  border-radius: 3px;
  background: #fff;
}

.sv-btn:hover {
  color: #000;
  border: 1px solid #efefef;
  background: #e6e6e6;
  -webkit-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}

.more-events {
  margin-top: 55px;
  border-top: 1px solid #efefef;
  padding-top: 55px;
}

.view-all-link {
  position: absolute;
  right: 0;
  bottom: 0;
  font-size: 16px;
  font-weight: 554;
  color: #000;
}

.view-all-link:hover {
  color: #2e2e2e;
}

/* --- Checkout Page --- */

.checkout-title {
  border-bottom: 2px solid #efefef;
  padding-bottom: 25px;
}

.bp-title h4 {
  font-size: 18px;
  font-weight: 620;
  color: #000;
  padding: 20px;
  margin-bottom: 0;
  border-bottom: 1px solid #efefef;
}

.bp-content {
  padding: 0 30px 30px;
}

.bp-form .form-control {
  background-color: #f9f9f9;
}

.bp-form .btn-light {
  display: block;
  font-size: 14px;
  font-weight: 400;
  color: #717171;
  background-color: #f9f9f9;
  border: 1px solid #efefef;
  padding: 5px 20px;
  min-height: 50px;
  border-radius: 3px;
  transition: none;
}

.checkout-block {
  margin-top: 40px;
}

.order-summary {
  margin-top: 40px;
}

.event-order-dt {
  display: flex;
  width: 100%;
  align-items: flex-start;
}

.event-thumbnail-img img {
  object-fit: cover;
  width: 110px;
  height: 100px;
  border-radius: 5px;
}

.event-order-dt-content {
  margin-left: 20px;
}

.event-order-dt-content h5 {
  font-size: 16px;
  font-weight: 620;
  line-height: 24px;
  margin-bottom: 10px;
  color: #000;
}

.event-order-dt-content span {
  font-size: 14px;
  font-weight: 400;
  color: #717171;
  display: block;
  margin-bottom: 10px;
}

.event-order-dt-content .category-type {
  font-size: 14px;
  font-weight: 554;
  color: #000;
  font-family: inherit;
}

.order-total-block {
  margin-top: 30px;
}

.order-total-dt {
  display: flex;
  width: 100%;
  align-items: center;
  color: #717171;
  font-weight: 620;
}

.order-total-dt div {
  font-size: 16px;
  margin-bottom: 20px;
}

.order-number {
  margin-left: auto;
}

.order-text {
  color: #000;
}

.ttl-clr {
  color: #000;
}

.divider-line {
  display: block;
  width: 100%;
  height: 1px;
  background: #efefef;
  margin-bottom: 20px;
}

.coupon-code-block .form-control {
  background-color: #f9f9f9;
}

.apply-btn {
  position: absolute;
  right: 5px;
  height: 40px;
  bottom: 5px;
  padding: 0 20px;
  font-size: 14px;
  color: #fff;
  font-weight: 554;
  text-align: center;
  background: #2e2e2e;
  display: inline-block;
  border-radius: 3px;
  border: 0;
}

.confirmation-btn {
  text-align: center;
}

.confirmation-btn span {
  font-size: 14px;
  color: #000;
  margin-top: 13px;
  display: block;
}

.select-tickets-block {
  padding: 0 20px 40px;
}

.select-ticket-action {
  display: flex;
  width: 100%;
  align-items: center;
}

.select-tickets-block h6 {
  font-size: 18px;
  font-family: inherit;
  color: #000;
  font-weight: 554;
  border-bottom: 1px solid #efefef;
  padding-bottom: 15px;
  margin-bottom: 27px;
}

.ticket-price {
  font-size: 18px;
  font-weight: 554;
  color: #000;
}

.quantity {
  margin-left: auto;
}

.counter {
  width: 150px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.counter input {
  width: 40px;
  border: 0;
  line-height: 30px;
  font-size: 18px;
  font-weight: 554;
  text-align: center;
  background: transparent;
  color: #000;
  appearance: none;
  outline: 0;
}

.counter input[type="number"] {
  width: 40px;
  border: 0;
  line-height: 30px;
  font-size: 18px;
  font-weight: 554;
  text-align: center;
  background: transparent;
  color: #000;
  padding: 0;
  outline: 0;
  -moz-appearance: textfield;
  appearance: none;
}

.counter input[type="number"]::-webkit-outer-spin-button,
.counter input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.counter span {
  display: block;
  font-size: 24px;
  padding: 0;
  line-height: 26px;
  cursor: pointer;
  color: #000;
  -webkit-user-select: none;
  user-select: none;
  background: #fff;
  border: 2px solid #bbb;
  border-radius: 50%;
  height: 30px;
  width: 30px;
  text-align: center;
}

.counter span:hover {
  color: #fff;
  background: #2e2e2e;
  border: 2px solid #2e2e2e;
}

.select-tickets-block p {
  margin-bottom: 20px;
  margin-top: 20px;
}

.xtotel-tickets-count {
  border-top: 1px solid #efefef;
  padding-top: 20px;
}

.x-title {
  font-size: 14px;
  font-weight: 554;
  color: #717171;
  margin-bottom: 13px;
}

.xtotel-tickets-count h4 {
  font-size: 22px;
  margin-bottom: 0;
  color: #000;
}

/* --- Profile Page --- */

.user-dt-block {
  padding-bottom: 64px;
}

.user-left-dt {
  text-align: center;
  padding: 30px;
  margin-top: -70px;
}

.upload-cover {
  display: inline-block;
  color: #e44d3a;
  font-size: 16px;
  position: absolute;
  top: 30px;
  right: 0;
  font-weight: 620;
  margin-right: 0;
  width: 100%;
}

.upload-cover .cover-img-btn [type="file"] {
  height: 0;
  overflow: hidden;
  width: 0;
  float: left;
}

.upload-cover .cover-img-btn [type="file"] + label {
  color: #000;
  background: #fff;
  border: 1px solid #bbb;
  border-radius: 3px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 554;
  outline: none;
  padding: 12px 20px;
  position: relative;
  transition: all 0.3s;
  margin: 0;
  float: right;
}

.upload-cover .cover-img-btn [type="file"] + label:hover {
  background: #514b4b;
  color: #fff;
}

.user-avatar-img {
  position: relative;
}

.user-avatar-img img {
  width: 130px;
  height: 130px;
  background-color: #fff;
  border-radius: 100%;
  border: 2px solid #2e2e2e;
  padding: 2px;
  object-fit: cover;
}

.avatar-img-btn {
  display: inline-block;
  color: #e44d3a;
  font-size: 16px;
  position: absolute;
  bottom: 4px;
  left: 64%;
  transform: translateX(-50%);
  margin-right: 0;
}

.avatar-img-btn [type="file"] {
  height: 0;
  overflow: hidden;
  width: 0;
  float: left;
}

.avatar-img-btn [type="file"] + label {
  color: #000;
  background: #fff;
  border: 1px solid #bbb;
  border-radius: 50%;
  cursor: pointer;
  font-size: 14px;
  font-weight: 554;
  outline: none;
  position: relative;
  transition: all 0.3s;
  margin: 0;
  float: right;
  height: 40px;
  width: 40px;
  line-height: 40px;
}

.avatar-img-btn [type="file"] + label:hover {
  background: #514b4b;
  color: #fff;
}

.user-dts .user-name {
  font-size: 18px;
  font-weight: 620;
  color: #000;
  margin-top: 23px;
}

.ff-block {
  display: flex;
  width: 100%;
  align-items: center;
  margin-top: 30px;
}

.ff-block a {
  font-size: 14px;
  color: #000;
  display: inline-block;
  width: 50%;
}

.ff-block a:hover {
  color: #2e2e2e;
}

.ff-block a span {
  display: block;
  font-size: 18px;
  font-weight: 554;
}

.ff-block a:first-child {
  border-right: 1px solid #efefef;
}

.verify-badge {
  margin-left: 8px;
  font-size: 15px;
  color: #2e2e2e;
}

.user-description {
  margin-top: 30px;
}

.user-btns {
  margin-top: 30px;
}

.user-email {
  font-size: 16px;
  margin-top: 15px;
  display: block;
}

.profile-social-link {
  margin-top: 37px;
}

.profile-social-link h6 {
  font-size: 16px;
  font-weight: 620;
  text-transform: inherit;
  color: #000;
  margin-bottom: 20px;
}

.social-links > .social-link {
  font-size: 18px;
  width: 40px;
  height: 40px;
  border: 2px solid #2e2e2e;
  border-radius: 100%;
  text-align: center;
  color: #2e2e2e;
  box-sizing: border-box;
  margin: 0;
  min-width: 0;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-bottom: 10px;
  margin-right: 7px;
  padding: 10px 9px;
}

.social-links > .social-link:hover {
  color: #fff;
  border: 2px solid #2e2e2e;
  background-color: #2e2e2e;
}

.user-right-dt {
  text-align: center;
  padding: 0;
  margin-top: -70px;
}

.garren-line-tab {
  border: 1px solid #efefef;
  border-radius: 3px;
  background-color: #fff;
}

.border-bottom {
  border-bottom: 1px solid #efefef;
}

.garren-line-tab .nav-link {
  font-size: 14px;
  font-weight: 400;
  color: #717171;
  position: relative;
  padding: 10px;
  border-radius: 3px;
}

.garren-line-tab .nav-link.active,
.garren-line-tab .nav-link.active:hover {
  color: #fff;
  background-color: #2e2e2e;
}

.garren-line-tab .nav-link:hover {
  color: #2e2e2e;
}

.garren-line-tab .nav-link i {
  font-size: 14px;
  margin-right: 8px;
}

.right-profile {
  margin-top: 25px;
}

.tab-link {
  font-size: 14px;
  font-weight: 400;
  position: relative;
  box-sizing: border-box;
  width: 33.33%;
  display: block;
  border: none;
  border-bottom: 3px solid transparent;
  padding: 1rem;
  color: #717171;
  background: transparent;
  text-decoration: none;
  transition:
    color 0.15s ease-in-out,
    background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out;
}

.custom-tabs .tab-link.active,
.tab-tabs .show > .tab-link {
  color: #2e2e2e;
  background-color: #fff;
  border-bottom: 3px solid #2e2e2e;
}

.custom-tabs .tab-link:hover {
  color: #2e2e2e;
  background-color: #fff;
  border-bottom: 3px solid transparent;
}

.custom-tabs .tab-link.active span,
.tab-tabs .show > .tab-link span {
  color: #fff;
}

.custom-tabs .tab-link.active:hover {
  color: #2e2e2e;
  background-color: #fff;
  border-bottom: 3px solid #2e2e2e;
}

.setting-step {
  border-bottom: 1px solid #efefef;
}

.setting-step:last-child {
  border-bottom: 0;
}

.chk-disabled {
  opacity: 0.5;
  pointer-events: none;
}

.setting-title {
  font-size: 16px;
  margin-bottom: 0;
  font-weight: 554;
  color: #000;
}

.btn-switch {
  position: relative;
  display: inline-block;
  width: 40px;
  min-width: 40px;
  height: 22px;
  margin: 14px 5px;
}

.btn-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.btn-switch input:checked + .checkbox-slider {
  background: #22b0af;
}

.btn-switch .checkbox-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 22px;
  width: 44px;
  border-radius: 16px;
  background-color: #edf1f5;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.btn-switch .checkbox-slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 3px;
  top: calc(50% - 18px / 2);
  border-radius: 50%;
  background-color: white;
  filter: drop-shadow(0px 2px 4px rgba(0, 35, 11, 0.2));
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.btn-switch input:checked + .checkbox-slider:before {
  -webkit-transform: translateX(20px);
  -ms-transform: translateX(20px);
  transform: translateX(20px);
}

.password-des h4 {
  font-size: 18px;
  font-weight: 620;
  margin-bottom: 13px;
  color: #000;
}

.password-des p {
  margin-bottom: 30px;
}

.card-top {
  display: flex;
  width: 100%;
  align-items: flex-start;
  border-bottom: 1px solid #efefef;
}

.card-event-img {
  width: 170px;
  height: 110px;
  margin-right: 20px;
}

.card-event-img img {
  width: 100%;
  height: 100%;
  border-radius: 3px;
  object-fit: cover;
}

.card-event-dt h5 {
  font-size: 18px;
  font-weight: 620;
  margin-bottom: 13px;
  color: #000;
}

.invoice-id {
  color: #717171;
}

.card-bottom {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
}

.card-bottom-item {
  display: flex;
  width: 25%;
  align-items: center;
  padding: 20px;
}

.card-icon i {
  font-size: 16px;
  color: #2e2e2e;
  text-align: center;
  width: 40px;
  height: 40px;
  line-height: 41px;
  background: #e6e6e6;
  border-radius: 50%;
}

.card-dt-text {
  margin-left: 15px;
}

.card-dt-text h6 {
  font-size: 13px;
  color: #717171;
}

.card-dt-text span {
  color: #000;
  font-weight: 554;
  font-size: 14px;
}

.card-dt-text a {
  color: #2e2e2e;
  font-weight: 554;
  font-size: 14px;
}

.card-dt-text a:hover {
  color: #514b4b;
}

.edit-btn {
  position: absolute;
  right: 0;
  top: 10px;
}

.about-details {
  padding: 30px;
}

.about-step {
  border-bottom: 1px solid #efefef;
  padding-bottom: 25px;
  padding-top: 25px;
}

.about-step:first-child {
  padding-top: 0;
}

.about-step:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.about-step h5 {
  font-size: 16px;
  font-weight: 554;
  color: #000;
  margin-bottom: 13px;
}

.about-step span {
  font-size: 18px;
  color: #717171;
  font-weight: 554;
  margin-bottom: 0;
}

.close-model-btn {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-size: 14px;
  width: 36px;
  height: 36px;
  padding: 0;
  color: #374151;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  opacity: 1;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .12s ease;
}

.close-model-btn:hover {
  color: #7b0202;
  background: #fff1f1;
  border-color: #fecaca;
  transform: translateY(-1px);
}

.modal-content {
  border: 0;
  border-radius: 8px;
  background: #fff;
  color: #111827;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .22);
  overflow: hidden;
}

.modal-title {
  font-size: 18px;
  font-weight: 448;
  font-family: inherit;
  color: #111827;
  line-height: 1.25;
}

.modal-header {
  align-items: flex-start;
  gap: 14px;
  padding: 20px 22px 16px;
  border-bottom: 1px solid #e5e7eb;
  background: #fffafa;
}

.modal-body {
  padding: 20px 22px;
}

.modal-footer {
  gap: 10px;
  padding: 14px 22px 20px;
  border-top: 1px solid #f3f4f6;
  background: #fff;
}

.modal-backdrop.show {
  opacity: .62;
}

.model-content {
  padding: 0 30px 30px;
}

.model-content .form-control {
  background-color: #f9f9f9;
}

.address-title {
  font-size: 18px;
  font-weight: 554;
  border-bottom: 1px solid #efefef;
  padding-bottom: 13px;
  margin-top: 30px;
  color: #000;
}

.model-content .btn-light {
  min-height: 40px;
  display: block;
  font-size: 14px;
  font-weight: 400;
  color: #717171;
  background-color: #f9f9f9;
  border: 1px solid #efefef;
  padding: 5px 20px;
  border-radius: 3px;
  transition: none;
}

.my-event-tabs {
  background: #fff;
  border-radius: 3px;
  border: 1px solid #efefef;
}

.event-link {
  font-size: 18px;
  font-weight: 400;
  position: relative;
  box-sizing: border-box;
  width: 33.333%;
  display: block;
  border: none;
  border-bottom: 3px solid transparent;
  padding: 1rem;
  color: #bbb;
  background: transparent;
  text-decoration: none;
  transition:
    color 0.15s ease-in-out,
    background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out;
}

.my-event-tabs .event-link.active,
.my-event-tabs .show > .event-link {
  color: #2e2e2e;
  background-color: #fff;
  border-bottom: 3px solid #2e2e2e;
}

.my-event-tabs .event-link.active span,
.my-event-tabs .show > .event-link span {
  color: #555555;
}

.event-link span {
  display: block;
  font-size: 14px;
  font-weight: 400;
  color: #000;
  margin-top: 10px;
}

.my-event-tabs .event-link.active:hover {
  color: #2e2e2e;
  background-color: #fff;
  border-bottom: 3px solid #2e2e2e;
}

.event-count {
  background: #e6e6e6;
  display: inline-block;
  height: 36px;
  width: 36px;
  border-radius: 50%;
  line-height: 36px;
}

.my-event-tabs .event-link.active .event-count,
.my-event-tabs .show > .event-link .event-count {
  color: #fff;
  background: #2e2e2e;
}

.profile-event-content {
  padding: 15px 20px 20px;
}

.profile-event-content > .event-title {
  font-size: 16px;
  font-weight: 554;
  color: #000;
  line-height: 25px;
  min-height: 50px;
  margin-bottom: 33px;
  transition: all ease-in-out 0.2s;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  display: block;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}

.profile-event-content > .event-title:hover {
  color: #000;
}

.profile-event-footer {
  padding: 0 20px 20px;
}

.event-btn-group {
  margin-top: 20px;
}

.esv-btn {
  font-size: 14px;
  font-weight: 400;
  color: #000;
  height: 40px;
  min-width: 110px;
  border: 1px solid #efefef;
  border-radius: 3px;
  background: #fff;
  padding: 0 20px;
}

.esv-btn:hover {
  color: #000;
  border: 1px solid #efefef;
  background: #e6e6e6;
  -webkit-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}

.saved-btn {
  color: #fff;
  border: 1px solid #2e2e2e;
  background: #2e2e2e;
}

.saved-btn:hover {
  color: #fff;
  border: 1px solid #2e2e2e;
  background: #514b4b;
}

.ff-tablist {
  border-bottom: 1px solid #efefef;
  margin-top: 27px;
}

.ff-tablist .nav-item .nav-link.active,
.ff-tablist .nav-item .show > .nav-link {
  color: #2e2e2e;
  border-color: #2e2e2e;
  background-color: transparent;
}

.ff-tablist .nav-item .nav-link {
  font-size: 14px;
  font-weight: 400;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  padding: 5px 10px;
  margin-bottom: -1px;
  color: rgba(0, 0, 0, 0.5);
  -webkit-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}

.min-height-430 {
  min-height: 430px;
}

.min-height-370 {
  min-height: 370px;
}

.min-height-180 {
  min-height: 180px;
}

.user-follow-card {
  display: flex;
  align-items: center;
  width: 100%;
}

.follow-card-left {
  display: flex;
  align-items: center;
}

.follow-avatar {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 50%;
  width: 60px;
  height: 60px;
}

.follow-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.follow-name {
  margin-left: 15px;
}

.follow-name h5 {
  font-size: 16px;
  color: #000;
}

.follow-card-btn {
  margin-left: auto;
}

.follow-btn {
  color: #000;
  background: #fff;
  border-radius: 3px;
  border: 1px solid #bbb;
  padding: 3px 15px;
}

.follow-btn:hover {
  color: #000;
  background: #e6e6e6;
  border-radius: 3px;
  border: 1px solid #bbb;
}

/* --- Organisation Dashboard Page --- */

.vertical_nav {
  height: calc(100vh - 60px);
  height: calc(100dvh - 60px);
  max-height: calc(100vh - 60px);
  max-height: calc(100dvh - 60px);
  overflow: hidden;
}

.vertical_nav .menu_left {
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-bottom: calc(22rem + env(safe-area-inset-bottom, 0px));
  scrollbar-width: thin;
}

.vertical_nav .menu_left::-webkit-scrollbar {
  width: 8px;
}

.vertical_nav .menu_left::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, .22);
  border-radius: 999px;
}

.vertical_nav .dropdown-menu {
  position: static;
  width: 100%;
  min-width: 0;
  transform: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

/* Medium devices (desktops)
==========================*/
@media (min-width: 992px) {
  body {
    overflow-y: scroll;
  }

  .logo img {
    max-height: 40px;
    width: auto;
    text-align: center;
    margin-top: 10px;
    float: none;
  }

  .wrapper-body {
    margin-left: 254px;
    transition: all 0.3s ease-out;
  }

  .wrapper__minify {
    margin-left: 80px;
  }
}

.wrapper-body {
  padding: 10px 0;
}

.d-main-title h3 {
  font-size: 24px;
  font-weight: 620;
  margin-bottom: 0;
  color: #000;
}

.d-main-title i {
  font-size: 22px;
}

.add-organisation-card {
  display: flex;
  width: 100%;
  align-items: center;
}

.ocard-left {
  display: flex;
  align-items: center;
}

.ocard-avatar {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 50%;
  width: 60px;
  height: 60px;
}

.ocard-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.ocard-name {
  margin-left: 17px;
}

.ocard-name h4 {
  font-size: 18px;
  font-weight: 620;
  color: #000;
  margin-bottom: 5px;
}

.ocard-name span {
  font-size: 14px;
  color: #717171;
}

.ocard-right {
  margin-left: auto;
}

.ocard-right .co-main-btn i {
  height: 25px;
  width: 25px;
  margin-right: 10px;
  background: #f7f7f7;
  border: 2px dashed #bbb;
  border-radius: 50%;
  line-height: 2;
  font-size: 11px;
  color: #bbb;
}

.org_design_button {
  width: 80px;
  display: inline-block;
  min-height: 80px;
  overflow: hidden;
  border: 2px dashed #bbb;
  background: rgba(255, 255, 255, 0.5);
  padding: 5px;
  text-align: center;
  cursor: pointer;
  position: relative;
  border-radius: 50%;
}

.org_design_button:hover {
  background: #e6e6e6;
}

.org_design_button span {
  display: block;
  text-align: center;
  color: #bbb;
  padding: 39px 0;
}

.org_design_button i {
  margin-top: 0;
  font-size: 24px;
  color: #bbb;
}

.btn-file input[type="file"] {
  position: absolute;
  top: 0;
  right: 0;
  min-width: 100%;
  min-height: 100%;
  text-align: right;
  opacity: 0;
  outline: 0;
  background: #fff;
  cursor: inherit;
  display: block;
}

.dashboard-date-arrows a {
  font-size: 14px;
  color: #717171;
  padding: 4px 10px 2px;
  display: inline-block;
  text-align: center;
  background: #e6e6e6;
  border-radius: 3px;
}

.dashboard-date-arrows a:hover {
  color: #2e2e2e;
}

.before_date.disabled,
.after_date.disabled {
  pointer-events: none;
  cursor: default;
  opacity: 0.5;
}

.dashboard-select-date {
  margin-bottom: 0;
  margin-left: 15px;
  font-size: 16px;
  font-weight: 554;
}

.event-list-dropdown {
  border: 0;
  background: transparent;
  color: #000;
  font-size: 14px;
  font-family: inherit;
}

.event-list-dropdown .dropdown-item {
  padding: 2px 20px;
}

.dashboard-report-content {
  padding: 0 1.5rem;
}

.dashboard-report-card {
  position: relative;
  margin-bottom: 1.5rem;
  border: 1px solid #efefef;
  box-shadow: none;
  flex-direction: row;
  align-items: center;
  border-radius: 5px;
  padding: 20px;
  display: flex;
  justify-content: space-between;
  background: #fff;
}

.dashboard-report-card .card-content {
  color: #fff;
  flex-grow: 1;
}

.dashboard-report-card.purple {
  background-color: #8892d6;
  border-color: #8892d6;
}

.dashboard-report-card.red {
  background-color: #fc544b;
  border-color: #fc544b;
}

.dashboard-report-card.info {
  background-color: #45bbe0;
  border-color: #45bbe0;
}

.dashboard-report-card.success {
  background-color: #2e2e2e;
  border-color: #78c350;
}

.dashboard-report-card .card-media {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-left: 15px;
  display: flex;
  align-items: center;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.2);
  justify-content: center;
  right: 20px;
  top: 20px;
  position: absolute;
}


.dashboard-report-card .card-content .card-title {
  text-transform: uppercase;
  display: block;
  margin-bottom: 0;
  font-size: 12px;
  font-weight: 554;
}

.dashboard-report-card .card-content .card-sub-title {
  font-size: 24px;
  margin: 8px 0 13px;
  display: block;
  font-weight: 620;
}

.dashboard-report-card .card-media i {
  font-size: 20px;
  color: #fff;
}

.border_bottom {
  border-bottom: 0px solid #efefef;
}

.border_top {
  border-top: 1px solid #efefef;
}

.select-graphic-category
  .bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(
    .input-group-btn
  ) {
  width: 150px;
}

.rs .btn-check:active + .btn-outline-primary,
.rs .btn-check:checked + .btn-outline-primary,
.rs .btn-outline-primary.active,
.rs .btn-outline-primary.dropdown-toggle.show,
.rs .btn-outline-primary:active {
  color: #fff;
  background-color: #2e2e2e;
  border-color: #2e2e2e;
}

.rs .btn-outline-primary {
  color: #2e2e2e;
  border-color: #2e2e2e;
}

.rs .btn-outline-primary:hover {
  color: #2e2e2e;
  background-color: #e6e6e6;
  border-color: #2e2e2e;
}

.rs .btn-outline-primary:focus {
  box-shadow: none;
  outline: none;
}

.rs .btn-check:focus {
  box-shadow: none;
  outline: none;
}

.relative-input .form-control {
  padding: 0 15px 0 40px;
  width: 280px;
}

.relative-input i {
  position: absolute;
  top: 20%;
  font-size: 16px;
  left: 10px;
  color: #717171;
}

.custom2-tabs .tab-link {
  background: #fff;
  border: 1px solid #bbb;
  box-sizing: border-box;
  border-radius: 3px;
  padding: 0;
  width: 130px;
  padding: 15px;
  font-size: 14px;
  height: 50px;
  color: #000;
  display: inline-block;
  margin: 0 0 0 4px;
  -webkit-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}

.custom2-tabs .tab-link:first-child {
  margin-left: 0;
}

.custom2-tabs .tab-link.active,
.tab-tabs .show > .tab-link {
  color: #fff;
  background-color: #2e2e2e;
  border: 1px solid #2e2e2e;
}

.custom2-tabs .tab-link:hover {
  color: #000;
  background-color: #e6e6e6;
  border: 1px solid #bbb;
}

.custom2-tabs .tab-link.active span,
.tab-tabs .show > .tab-link span {
  color: #fff;
}

.custom2-tabs .tab-link.active:hover {
  color: #fff;
  background-color: #2e2e2e;
  border: 1px solid #2e2e2e;
}

.event-top .card-event-img {
  width: 130px;
  height: 70px;
}

.option-btn {
  width: 35px;
  height: 35px;
  color: #000;
  border: 1px solid #bbb;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 3px;
}

.option-btn:hover {
  color: #2e2e2e;
  border: 1px solid #2e2e2e;
  background: rgba(255, 255, 255, 0.3);
}

.event-list-icon {
  width: 110px;
  height: 110px;
  background: #fafafa;
  border: 1px solid #efefef;
  overflow: hidden;
  text-align: center;
  border-radius: 50%;
  padding-top: 30px;
}

.event-list-icon img {
  width: 80px;
}

.contact-list {
  box-sizing: border-box;
}

.contact-list .top .icon-box {
  position: relative;
  padding-left: 66px;
  width: calc(100% - 150px);
}

.contact-list .top .icon-box .icon-big {
  display: inline-block;
  height: 50px;
  width: 50px;
  background: #d4f7f7;
  border-radius: 100px;
  text-align: center;
  line-height: 50px;
  position: absolute;
  left: 0;
  top: 0;
}

.contact-list .top .icon-box .icon {
  display: inline-block;
  height: 50px;
  width: 50px;
  background: #d4f7f7;
  border-radius: 100px;
  text-align: center;
  line-height: 50px;
  position: absolute;
  left: 0;
  top: 2px;
}

.icon.icon-purple {
  background-color: rgba(155, 81, 224, 0.1);
}

.contact-list .top .icon-box h5 {
  font-size: 18px;
  margin: 0;
  color: #000;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.contact-list .top .icon-box p {
  font-size: 13px;
  margin: 0;
  color: #717171;
}

.option-btn-1 {
  width: 35px;
  height: 35px;
  color: #000;
  border: 1px solid #bbb;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 3px;
}

.option-btn-1:hover {
  color: #2e2e2e;
  border: 1px solid #2e2e2e;
  background: rgba(255, 255, 255, 0.3);
}

.icon-box .icon {
  font-size: 18px;
  margin-right: 7px;
  padding-top: 2px;
}

.rotate-icon {
  transform: rotate(300deg);
}

.contact-list .bottom .icon-box {
  min-width: 130px;
  position: relative;
  padding-left: 52px;
  width: 25%;
  max-width: 100%;
}

.card-icon-align.bottom .icon-box {
  padding-left: 60px;
}

.contact-list .bottom .icon-box .icon {
  display: inline-block;
  height: 40px;
  width: 40px;
  background: #f5f7fd;
  border-radius: 100px;
  text-align: center;
  line-height: 40px;
  position: absolute;
  left: 0;
  top: 0;
}

.contact-list .bottom .icon-box h6 {
  font-weight: 554;
  font-size: 12px;
  line-height: 18px;
  color: #000;
  margin: 0 0 6px;
}

.contact-list .bottom .icon-box p {
  font-size: 13px;
  font-weight: 300;
  line-height: 20px;
  color: #717171;
  margin: 0;
}

.contact-list .bottom .icon-box:not(:last-child) {
  padding-right: 15px;
}

.contact-list .bottom .icon-box .progress {
  background: rgba(163, 173, 185, 0.3);
  border-radius: 2px;
  height: 4px;
}

.contact-list .bottom .icon-box .progress {
  max-width: 80px;
}

.contact-list .bottom .icon-box .progress .progress-bar {
  background: #2e2e2e;
  border-radius: 2px;
}

.add-contact-title h4 {
  margin-bottom: 0;
  padding-bottom: 15px;
  font-size: 18px;
  font-weight: 554;
}

.gift-coupon-icon {
  width: 100%;
  text-align: center;
  padding-bottom: 0;
  border-bottom: 2px dashed #efefef;
  margin-bottom: 10px;
}

.gift-coupon-icon img {
  width: 100px;
  height: 100px;
}

.datepickers-container {
  z-index: 90;
}

.datepicker--day-name {
  color: #2e2e2e;
  font-weight: 554;
  font-family: "Roboto", sans-serif;
}

.icon.icon-purple {
  color: #6b63ff;
  background-color: rgba(155, 81, 224, 0.1);
}

.icon.icon-yellow {
  color: #e8df2a;
  background-color: rgba(242, 153, 74, 0.1);
}

.bank-card {
  position: relative;
  border: 1px solid #efefef;
  background: #f9f9f9;
  border-radius: 3px;
}

.bank-card h5 {
  font-size: 18px;
  font-weight: 620;
  color: #000;
}

.bank-card h6 {
  font-size: 16px;
  font-weight: 554;
  margin-bottom: 13px;
  color: #000;
}

.bank-card span {
  display: block;
  font-size: 16px;
  font-weight: 554;
  margin-bottom: 20px;
  color: #717171;
}

.action-link {
  margin-right: 5px;
  width: 35px;
  height: 35px;
  color: #717171;
  border: 1px solid #bbb;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 3px;
  display: inline-block;
  text-align: center;
  line-height: 35px;
}

.action-link:hover {
  color: #2e2e2e;
  border: 1px solid #2e2e2e;
  background: rgba(255, 255, 255, 0.3);
}

.rmt_4 {
  margin-top: 1.5rem;
}

.table-card {
  position: relative;
  width: 100%;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .05);
}

.table-responsive {
  border-radius: 8px;
}

.table {
  width: 100%;
  margin-bottom: 0;
  color: #111827;
  border-color: #eef2f7;
  vertical-align: middle;
}

.table > :not(caption) > * > * {
  padding: 14px 16px;
  border-bottom-color: #eef2f7;
  background-color: transparent;
}

.table > :not(:first-child) {
  border-top: 1px solid #e5e7eb;
}

.table thead th,
.table .thead-dark th {
  color: #6b7280;
  background: #f8fafc;
  border-color: #e5e7eb;
  font-size: 12px;
  font-weight: 448;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
}

.table tbody tr {
  transition: background-color .15s ease;
}

.table tbody tr:hover {
  background: #fffafa;
}

.table tbody td,
.table tbody th {
  color: #111827;
  font-size: 14px;
}

.table tbody td a {
  font-weight: 700;
  text-decoration: none;
}

.table tbody td a:hover,
.table tbody td a:focus {
  color: #520000;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: #fcfcfd;
}

.table-hover > tbody > tr:hover > * {
  background-color: #fffafa;
}

.main-table .table {
  color: #000;
  margin-bottom: 0;
  background: #fff;
  border-radius: 3px;
  border: 1px solid #efefef;
}

.main-table .table > :not(:first-child) {
  border-top: 1px solid #efefef;
}

.main-table .table .thead-dark th {
  color: #000;
  background-color: #e5e5e5;
  border-color: #e5e5e5;
  border-bottom: 0;
  border: 1px;
  font-size: 14px;
  font-weight: 554;
}

.main-table .table .thead-dark th:first-child {
  border-top-left-radius: 3px;
}

.main-table .table .thead-dark th:last-child {
  border-top-right-radius: 3px;
}

.main-table .table .thead-dark tr {
  border-radius: 3px;
}

.main-table .table .thead-dark tr th:first-child {
  border-top-left-radius: 3px;
}

.main-table .table .thead-dark tr th:last-child {
  border-top-right-radius: 3px;
}

.main-table .table tbody tr td a {
  color: #000;
}

.discount-table .table td,
.discount-table .table th {
  padding: 1rem 1rem;
  border-top: 1px solid transparent;
}

.main-table .table td,
.main-table .table th {
  padding: 1rem 1rem;
  border-top: 1px solid transparent;
}

.main-table .table tfoot {
  font-weight: 554;
  padding: 14px;
  color: #000;
}

.main-table .table tfoot td {
  color: #000;
  font-size: 14px;
  font-weight: 554;
  background-color: #fafafa;
}

.main-table .table td {
  vertical-align: middle;
  padding: 12px 10px 9px;
  font-size: 14px;
}

.status-circle {
  background-color: #efefef;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  margin-right: 7px;
}

.red-circle {
  background-color: #dc3545;
}

.green-circle {
  background-color: #7dc579;
}

.blue-circle {
  background-color: #bb6bd9;
}

.a-link {
  color: #2e2e2e;
  font-weight: 554;
}

.a-link:hover {
  color: #2e2e2e;
  text-decoration: underline;
}

.s-info h3 {
  font-size: 26px;
  font-weight: 620;
  color: #fff;
  margin-bottom: 20px;
}

.s-info p {
  color: #fff;
  font-size: 16px;
  margin-bottom: 20px;
}

.s-price h3 {
  color: #fff;
  font-size: 26px;
  font-weight: 620;
  margin-bottom: 20px;
}

.since-text {
  font-style: italic;
  color: #fff;
}

.subscription-title h3 {
  font-size: 24px;
  font-weight: 620;
  margin-bottom: 0;
  color: #000;
}

.subscription-item {
  border: 1px solid #efefef;
  border-radius: 3px;
}

.subscription-item p {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}

.bp-info h4 {
  font-size: 20px;
  color: #000;
  margin-bottom: 10px;
}

.btn-gray {
  padding: 8.5px 16px;
  border-radius: 5px;
  font-weight: bold;
  border: 0;
  background: #f5f5f5;
  color: rgba(33, 33, 33, 0.6);
  -webkit-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}

.btn-gray:hover.no-bg:hover svg path {
  fill: #22b0af;
}

.no-bg {
  background: none;
  background-color: transparent;
}

.c-img {
  width: 60px;
  margin-bottom: 5px;
}

.tracking-tab .tracking-head {
  background: #fff;
  padding: 5px;
  border-radius: 3px;
  border: 1px solid #efefef;
  margin-top: 1.5rem;
}

.tracking-tab .nav-tabs .nav-item {
  margin-bottom: 0px;
  width: 33.333%;
}

.tracking-tab .nav-tabs .nav-link {
  display: block;
  text-align: center;
  background: #fff;
  border: 0;
  border-radius: 3px;
  width: 100%;
  height: 40px;
  line-height: 40px;
  font-size: 14px;
  font-weight: 400;
  color: #000;
  padding: 0rem 1.3rem;
}

.tracking-tab .nav-tabs .nav-link.active {
  background-color: #2e2e2e;
  color: #fff;
}

.specific-event {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #efefef;
}

.specific-event h4 {
  font-size: 16px;
  font-weight: 554;
  margin-bottom: 13px;
  color: #000;
}

.organisation-profile {
  position: relative;
  padding-top: 50px;
  max-width: 560px;
  min-width: 500px;
  margin: 0 auto;
  text-align: center;
}

.view-profile-link {
  display: inline-block;
}

.profile-edit-btn {
  position: absolute;
  right: 10px;
  top: 15px;
}

.profile-edit-btn .btn {
  color: #717171;
  font-size: 16px;
}

.profile-edit-btn .btn:hover {
  color: #2e2e2e;
}

.profile-edit-btn .btn:focus {
  box-shadow: none;
}

.p-bg {
  background-color: #f5f7f9;
}

.copy-link {
  position: absolute;
  right: 2px;
  top: 2px;
  height: 36px;
  display: inline-block;
  line-height: 36px;
  padding: 0 10px;
  background: #fff;
  border-radius: 3px;
  border: 1px solid #ddd;
  font-size: 13px;
  font-weight: 554;
  cursor: pointer;
}

.team-lock {
  position: static;
  top: 0;
  left: 0;
  float: left;
  height: 100%;
  width: 100%;
  text-align: left;
  overflow: hidden;
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
}

.team-lock:after {
  content: "\f023";
  font-family: "Font Awesome 6 Free";
  font-weight: 620;
  margin-left: 0.255em;
  float: right;
  padding-right: 30px;
  font-size: 12px;
  color: #717171;
  padding-top: 1px;
}

.team-lock > .menu--label {
  display: inline-block;
  height: 45px;
  line-height: 43px;
}

.team-lock > .menu--label:hover {
  background: #e6e6e6;
}

.upgrade-premium-area {
  justify-content: center;
  display: flex;
  padding: 30px;
}

.upgrade-content .upgrade-premium-center {
  max-width: 556px;
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.05);
  box-shadow: 2px 4px 7px rgb(0 0 0 / 7%);
  border-radius: 5px;
  text-align: center;
  padding: 75px 30px 30px 30px;
  background-image: url(../images/banners/up-shape.png);
  background-repeat: no-repeat;
  background-position: 30% 1%;
  overflow-y: auto;
}

.upgrade-icon img {
  width: 100px;
}

.upgrade-banner img {
  width: 100%;
  border-radius: 5px;
  object-fit: cover;
}

.upgrade-text h3 {
  font-size: 24px;
  font-weight: 620;
  margin: 22px 0 13px;
  color: #000;
}

.upgrade-text p {
  font-size: 16px;
  font-weight: 400;
  color: #717171;
}

.premium-select {
  margin-top: 20px;
}

.premium-select .option {
  margin-top: 1.5rem;
  text-align: center;
  display: block;
  justify-content: space-evenly;
  border-radius: 5px;
  cursor: pointer;
  padding: 20px;
  border: 2px solid #efefef;
  background-color: #ffffff;
  width: 100%;
  border-radius: 5px;
  transition: all 0.3s ease;
}

.premium-select .option .dot {
  height: 20px;
  width: 20px;
  background: #d9d9d9;
  border-radius: 50%;
  position: relative;
  display: inline-block;
}

.premium-select .option .dot::before {
  position: absolute;
  content: "";
  top: 4px;
  left: 4px;
  width: 12px;
  height: 12px;
  background: #fff;
  border-radius: 50%;
  opacity: 0;
  transform: scale(1.5);
  transition: all 0.3s ease;
}

.premium-select input[type="radio"] {
  display: none;
}

#option-1:checked:checked ~ .option-1,
#option-2:checked:checked ~ .option-2 {
  border: 2px solid #2e2e2e;
  background: #fff;
}

#option-1:checked:checked ~ .option-1 .dot,
#option-2:checked:checked ~ .option-2 .dot {
  background: #2e2e2e;
}

#option-1:checked:checked ~ .option-1 .dot::before,
#option-2:checked:checked ~ .option-2 .dot::before {
  opacity: 1;
  transform: scale(1);
}

.wrapper .option span {
  font-size: 18px;
  font-weight: 554;
  color: #000;
  display: block;
  margin: 13px 0 10px;
}

.wrapper .option span:last-child {
  font-size: 16px;
  font-weight: 400;
  color: #717171;
  display: block;
  margin-bottom: 0;
}

#option-1:checked:checked ~ .option-1 span,
#option-2:checked:checked ~ .option-2 span {
  color: #000;
}

#option-1:checked:checked ~ .option-1 span:last-child,
#option-2:checked:checked ~ .option-2 span:last-child {
  color: #717171;
  display: block;
}

.action-btn {
  cursor: pointer;
}

.action-btn:hover {
  color: #2e2e2e;
}

.disabled {
  pointer-events: none;
}

.role-header {
  background: #efefef;
  text-align: left;
  padding: 25px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

.role-header h6 {
  font-size: 18px;
  font-weight: 554;
}

.role-body-content {
  padding: 25px;
}

.role-item {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.role-item:last-child {
  margin-bottom: 0;
}

.role-item i {
  color: #2e2e2e;
  width: 26px;
  height: 26px;
  line-height: 26px;
  text-align: center;
  background: rgba(106, 192, 69, 0.1);
  border-radius: 50%;
  display: inline-block;
  font-size: 14px;
}

.i-disabled {
  color: #000;
  background: rgba(0, 0, 0, 0.04);
}

.role-item span {
  color: #000;
  font-weight: 400;
  margin-left: 7px;
}

.mt-30 {
  margin-top: 30px;
}

/* --- Create Events --- */

.wizard-steps-block {
  margin-top: 39px;
}

#add-event-tab {
  opacity: 0;
}

#add-event-tab .step-steps {
  opacity: 0.8;
}

#add-event-tab .step-steps {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-left: 0;
}

#add-event-tab .step-steps > li {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 33.3333%;
  flex: 0 0 33.3333%;
  max-width: 0 0 33.3333%;
}

#add-event-tab .step-steps > li:before {
  background-color: #ededed;
  height: 5px;
  left: 50%;
  top: 20px;
  width: 100%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

#add-event-tab .step-steps > li > a > .number {
  width: 24px;
  height: 24px;
  background-color: #d1d1d1;
  border: 0px solid;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

#add-event-tab .step-steps > li > a > .number:before {
  background-color: rgba(221, 221, 211, 0.3);
  box-shadow: 0 0 0 rgba(221, 221, 211, 0);
  height: calc(100% + 16px);
  width: calc(100% + 16px);
  top: -8px;
  left: -8px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

#add-event-tab .step-steps > li > a > .step-name {
  font-weight: 554;
  color: #b2b2b2;
  font-size: 14px;
  margin-top: 20px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-transform: capitalize;
}

#add-event-tab .step-steps > li:last-child:before {
  width: 0;
}

#add-event-tab .step-steps > li.active > a > .number,
#add-event-tab .step-steps > li.done > a > .number {
  background-color: #2e2e2e;
}

#add-event-tab .step-steps > li.active > a > .number:before,
#add-event-tab .step-steps > li.done > a > .number:before {
  background-color: rgba(106, 192, 69, 0.3);
}

#add-event-tab .step-steps > li.active > a > .step-name,
#add-eventevent-tab .step-steps > li.done > a > .step-name {
  color: #333;
}

#add-event-tab .step-steps > li.done:before {
  background-color: #2e2e2e;
}

#add-event-tab .step-steps > li.done > a > .number:after {
  display: none;
}

#add-event-tab > .step-content {
  border: 0px solid;
  border-radius: 0px;
  padding-top: 35px;
}

#add-event-tab > .step-content .title-icon {
  margin-bottom: 25px;
}

.p_30 {
  padding: 30px;
}

.pb_30 {
  padding-bottom: 30px;
}

.pt_30 {
  padding-top: 30px;
}

.pl_30 {
  padding-left: 30px;
}

.pr_30 {
  padding-right: 30px;
}

.min-h-auto {
  min-height: 0;
}

.clock-icon .bootstrap-select > .dropdown-toggle:after {
  content: "\f017";
  font-family: "Font Awesome 6 free";
  border: 0;
  padding: 0;
  font-size: 16px;
  line-height: 1;
  position: absolute;
  right: 20px;
  top: 37%;
}

.datepicker--cell.-selected-,
.datepicker--cell.-selected-.-current- {
  color: #fff;
  background: #514b4b;
}

.datepicker--cell.-current- {
  color: #fff;
  background: #2e2e2e;
}

.absolute-icon {
  color: #717171;
  font-weight: 620;
  position: absolute;
  background: transparent;
  right: 5px;
  top: 5px;
  min-height: 40px;
  padding: 0 15px;
  line-height: 40px;
  margin-bottom: 0;
  border-radius: 3px;
  pointer-events: none;
}

.absolute-icon:hover {
  color: #2e2e2e;
}

.default-event-thumb {
  border: 1px dashed #bbb;
  height: 240px;
  overflow: hidden;
  position: relative;
}

.default-event-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fs-24 {
  font-size: 24px;
}

.fs-22 {
  font-size: 22px;
}

.fs-20 {
  font-size: 20px;
}

.fs-18 {
  font-size: 18px;
}

.fs-16 {
  font-size: 16px;
}

.fs-14 {
  font-size: 14px;
}

.fs-13 {
  font-size: 13px;
}

.fs-12 {
  font-size: 12px;
}

.line-height-32 {
  line-height: 32px;
}

.default-event-thumb-btn {
  display: inline-block;
  color: #e44d3a;
  font-size: 16px;
  position: absolute;
  top: 10px;
  right: 10px;
  font-weight: 620;
  margin-right: 0;
  width: 100%;
}

.default-event-thumb-btn .thumb-change-btn [type="file"] {
  height: 0;
  overflow: hidden;
  width: 0;
  float: left;
}

.default-event-thumb-btn .thumb-change-btn [type="file"] + label {
  color: #000;
  background: #fff;
  border: 1px solid #bbb;
  border-radius: 3px;
  cursor: pointer;
  display: inline-block;
  font-size: 14px;
  font-weight: 554;
  outline: none;
  padding: 12px 30px;
  position: relative;
  transition: all 0.3s;
  vertical-align: middle;
  margin: 0 0 0 auto;
}

.default-event-thumb-btn .thumb-change-btn [type="file"] + label:hover {
  background: #514b4b;
  color: #fff;
}

.stepper-data-set .content-holder label {
  font-size: 14px;
  font-weight: 554;
}

.template-select {
  cursor: pointer;
  display: inline-block;
  position: relative;
  width: 100%;
}

.template-item img {
  display: block;
  margin: 0;
  width: 100%;
}

.template-item {
  position: relative;
}

.template-item input {
  position: absolute;
  z-index: 2;
  left: 10px;
  top: 10px;
}

.template-item input:active + .template {
  opacity: 0.9;
}

.template-item input:checked + .template {
  border-radius: 5px;
  -webkit-filter: none;
  -moz-filter: none;
  filter: none;
}

.template {
  cursor: pointer;
  background-size: cover;
  background-repeat: no-repeat;
  display: inline-block;
  width: 100%;
}

.step-app > .step-footer {
  margin-top: 40px;
  margin-bottom: 0;
}

.steps_btn {
  font-size: 14px;
  font-weight: 554;
  font-family: "Roboto", sans-serif;
  color: #fff;
  background: #2e2e2e;
  padding: 0px 30px;
  width: 150px;
  border-radius: 3px;
  border: 0;
  height: 40px;
  line-height: 40px;
}

.steps_btn:hover {
  color: #fff;
  background: #514b4b;
}

.steps_btn:focus {
  box-shadow: none;
}

.dropdown.bootstrap-select.dropdown-no-bg .dropdown-toggle {
  background: transparent;
  border: none;
}

.pp-select {
  position: absolute;
  right: 0;
  width: 90px;
  z-index: 5;
}

.hosting-title {
  text-align: center;
}

input[type="number"] {
  /*for absolutely positioning spinners*/
  position: relative;
  padding-right: 25px;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  opacity: 1;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: inner-spin-button;
  width: 25px;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
}

.brn-checkbox-radio {
  display: table;
  position: relative;
  padding-left: 55px;
  cursor: pointer;
  margin-bottom: 13px;
  line-height: 23px;
}

.input-content {
  padding-left: 75px;
}

.percentage-icon {
  color: #717171;
  font-weight: 620;
  position: absolute;
  background: transparent;
  right: 0px;
  top: 1px;
  min-height: 40px;
  padding: 0px 15px;
  line-height: 40px;
  margin-bottom: 0;
  border-radius: 3px;
  pointer-events: none;
  z-index: 5;
  font-size: 18px;
}

.sub-label {
  color: #717171;
}

.form-check-input:checked {
  background-color: #2e2e2e;
  border-color: #2e2e2e;
  outline: #ff7a92;
  box-shadow: none;
}

.form-check-input {
  width: 1.2em;
  height: 1.2em;
}

.refund-method:first-child .refund-input-content {
  display: block;
}

.refund-method .refund-input-content {
  display: none;
}

.ticket-instructions-content {
  padding-left: 55px;
}

.tags-list {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 8px;
}

.tag {
  background-color: rgba(42, 65, 232, 0.07);
}

.tag {
  background-color: rgba(106, 192, 69, 0.07);
  color: #2e2e2e;
  display: inline-block;
  padding: 0;
  border-radius: 3px;
  cursor: default;
  margin: 0 7px 7px 0;
  height: 35px;
  line-height: 35px;
  box-sizing: border-box;
  animation: KeywordIn 0.3s ease-in-out;
  animation-fill-mode: both;
  transition: 0.4s;
  overflow: hidden;
  max-width: 100%;
  font-size: 14px;
  font-weight: 400;
  text-transform: capitalize;
}

.tag-text {
  padding-right: 12px;
}

.tag .tag-remove:before {
  display: inline-block;
  cursor: pointer;
  font-family: "Font Awesome 6 Free";
  content: "\f00d";
  line-height: 20px;
  position: relative;
  top: 0px;
  margin-right: 7px;
  margin-left: 10px;
  font-size: 13px;
  font-weight: 620;
}

#map {
  height: 250px;
  width: 100%;
}

.full-width {
  width: 100%;
}

.price-ticket-card {
  border: 1px solid #efefef;
  border-radius: 3px;
  box-shadow: 0 8px 11px 2px rgb(64 70 74 / 2%);
}

.ticket-list-icon {
  width: 110px;
  height: 110px;
  background: #fafafa;
  border: 1px solid #efefef;
  overflow: hidden;
  text-align: center;
  border-radius: 50%;
  padding-top: 0;
  line-height: 110px;
}

.ticket-list-icon img {
  width: 70px;
}

.price-badge {
  width: 24px;
  height: 24px;
  padding-top: 2px;
  margin-right: 15px;
}

.price-badge img {
  width: 100%;
  object-fit: cover;
}

.price-ticket-card-head .top-name .icon-box .icon {
  display: inline-block;
  height: 50px;
  width: 50px;
  background: #d4f7f7;
  border-radius: 100px;
  text-align: center;
  line-height: 50px;
  position: absolute;
  left: 0;
  top: 2px;
}

.price-ticket-card-head .top-name .icon-box {
  position: relative;
  padding-left: 66px;
}

.price-ticket-card .price-ticket-card-body .text-145 {
  font-size: 12px;
  font-weight: 400;
  line-height: 20px;
  color: #717171;
  margin: 0;
}

.price-ticket-card .price-ticket-card-body h6 {
  font-weight: 554;
  font-size: 12px;
  line-height: 18px;
  color: #000;
  margin: 0 0 6px;
}

.price-ticket-card .price-ticket-card-body .icon-box:not(:last-child) {
  padding-right: 15px;
}

.price-ticket-card .price-ticket-card-body .icon-box {
  position: relative;
  padding-left: 52px;
  width: 33.3333%;
  max-width: 100%;
}

.price-ticket-card .price-ticket-card-body .icon-box .icon {
  display: inline-block;
  font-size: 14px;
  height: 36px;
  width: 36px;
  color: #717171;
  background: #f5f7fd;
  border-radius: 100px;
  text-align: center;
  line-height: 35px;
  position: absolute;
  left: 0;
  top: 0;
}

.price-variation-head {
  padding: 16px;
  background: #f5f8ff;
  box-shadow: 0px -1px 0px rgb(0 0 0 / 6%);
  filter: drop-shadow(0px -10px 10px rgba(0, 0, 0, 0.05));
  margin-top: 20px;
}

.add-btn {
  color: #fff;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  background: #2e2e2e;
  border-radius: 3px;
  cursor: pointer;
}

.div-base-table.small-table {
  min-width: 440px;
}

.div-base-table {
  display: table;
  min-width: 873px;
  border: 1px solid #dddfe2;
}

.div-base-table .table-row.table-head {
  background: #fafafa;
  color: #000;
  font-weight: 554;
  font-size: 13px;
}

.div-base-table .table-row {
  display: table-row;
  font-size: 12px;
  color: #4b4c4c;
}


.div-base-table .table-row .table-col {
  display: table-cell;
  padding: 10px 10px 10px 0px;
  vertical-align: middle;
  -webkit-box-shadow: 0 1px 0 #dddfe2;
  -moz-box-shadow: 0 1px 0 #dddfe2;
  box-shadow: 0 1px 0 #dddfe2;
  overflow: hidden;
}

.text-light3 {
  color: #000;
}

.div-base-table .table-row {
  display: table-row;
  font-size: 12px;
  color: #000;
}

.v-btn-close {
  color: #fff;
  width: 40px;
  height: 40px;
  line-height: 42px;
  text-align: center;
  background: #2e2e2e;
  border-radius: 3px;
  border: 0;
  font-size: 18px;
}

.top_0 {
  top: 0;
}

/*--- Pricing Page ---*/

.flag-icon img {
  position: relative;
  display: inline-block;
  width: 1.33333333em;
  line-height: 1em;
}

.text-icon {
  margin-bottom: 0;
  border-left: 3px solid #2e2e2e;
  padding-left: 10px;
}

.flag-icon {
  margin: 0 5px;
}

.sell-calculate-banner-bg {
  background: #2e2e2e;
  max-width: 300px;
  display: inline-block;
  width: 100%;
  padding: 20px 30px;
  border-radius: 10px;
  box-shadow: 0 10px 16px 0px rgb(64 70 74 / 15%);
}

.sell-calculate-banner-content {
  color: #fff;
}

.sell-calculate-banner-content h3 {
  color: #ffffff;
  font-size: 50px;
  font-weight: 620;
  margin-bottom: 0;
  line-height: 50px;
}

.sell-calculate-banner-content h5 {
  color: #ffffff;
  font-size: 18px;
  font-weight: 554;
  margin-bottom: 0;
}

.sell-calculate-banner-content .plus {
  color: #fff;
  font-size: 40px;
  font-weight: 620;
  line-height: 55px;
}

.sell-calculate-banner-content .per-text {
  color: #fff;
  font-size: 18px;
  margin: 13px 0;
  display: block;
}

.percent {
  line-height: 40px;
  margin: 10px 0px 0px 0px;
  padding: 7px 15px 5px 15px;
  background-color: #1c2131;
  border-radius: 8px;
  color: #ffffff;
  font-size: 30px;
  font-weight: 620;
}

.sell-calculate-banner-content p {
  color: #ffffff;
  margin-bottom: 0;
}

.sw-container {
  padding: 4px 4px;
  overflow: hidden;
}

.switch-field input {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  width: 1px;
  border: 0;
  overflow: hidden;
}

.switch-field input:checked + label {
  background-color: #2e2e2e;
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #fff;
  text-transform: capitalize;
  border: 1px solid #2e2e2e;
}

.switch-field label {
  border-radius: 4px;
  margin-bottom: 0;
  border: 1px solid #efefef;
  border-radius: 3px;
  background: #fff;
  cursor: pointer;
}

.switch-field label {
  display: inline-block;
  color: #000;
  font-size: 14px;
  font-weight: 554;
  text-align: center;
  text-shadow: none;
  padding: 15px 15px;
  height: 50px;
  -webkit-transition: all 0.1s ease-in-out;
  -moz-transition: all 0.1s ease-in-out;
  -ms-transition: all 0.1s ease-in-out;
  -o-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
  /* width: 46%; */
  margin-right: 10px;
  width: calc(50% - 8px);
}

.ellipsis-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.calculate-top {
  background: #f5f7f9;
  padding: 5px 30px 30px;
  border-radius: 5px;
}

.price-ticket-box {
  display: flex;
  width: 100%;
  height: 167px;
  box-shadow: 0 8px 11px 2px rgb(64 70 74 / 2%);
}

.data-amount {
  margin: auto;
}

.data-amount h4 {
  font-size: 30px;
  font-weight: 620;
}

.data-amount span {
  display: block;
  margin-top: 10px;
  color: #717171;
}

.accordion-btn {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 1.5rem 1.25rem;
  font-size: 16px;
  color: #000;
  font-weight: 554;
  text-align: left;
  background-color: transparent;
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition:
    color 0.15s ease-in-out,
    background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out,
    box-shadow 0.15s ease-in-out,
    border-radius 0.15s ease;
}

.accordion-item:first-of-type .accordion-btn {
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.accordion-btn:not(.collapsed) {
  color: #000;
  background-color: transparent;
  box-shadow: none;
}

.accordion-btn:not(.collapsed)::after {
  content: "\f068";
}

.accordion-btn::after {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-left: auto;
  content: "\2b";
  font-family: "FontAwesome";
  background-size: 1.25rem;
  transition: transform 0.2s ease-in-out;
}

.faq-accordion .accordion-item {
  background: transparent;
  border-top: 1px solid #cbcbcb;
  border-bottom: 0;
  border-left: 0;
  border-right: 0;
}

.faq-accordion .accordion-item:last-child {
  border-bottom: 1px solid #cbcbcb;
}

.faq-accordion .accordion-item:not(:first-of-type) {
  border-top: 1px solid #cbcbcb;
}

.accordion-body p {
  line-height: 28px;
}

.accordion-body img {
  max-width: 100%;
  height: auto;
  display: block;
}

/*--- FAQ Page ---*/

.faq-widget-links li {
  margin-bottom: 15px;
}

.faq-widget-links li:last-child {
  margin-bottom: 0;
}

.faq-widget-links li p {
  font-size: 16px;
  font-weight: 400;
  color: #000;
  display: block;
  margin-bottom: 0;
}

.faq-widget-links li a {
  color: #000;
}

.faq-widget-links li a:hover {
  color: #2e2e2e;
}

.cant-ans-box a {
  font-size: 16px;
  margin-top: 1.5rem;
  display: block;
  font-weight: 554;
}

.cant-ans-box a:hover {
  color: #514b4b;
}

.faq-accordion-title h4 {
  font-size: 24px;
  font-weight: 620;
  margin-bottom: 23px;
}

.faq-attendees-accordion {
  margin-top: 57px;
}

/*--- Contact Us Page ---*/

.contact-icon i {
  color: #fff;
  font-size: 20px;
  margin-right: 17px;
}

.contact-info a {
  font-size: 18px;
  color: #fff;
  font-weight: 554;
}

.contact-info a:hover {
  color: #fff;
}

/*--- Our Blog Page---*/

.bt_33 {
  margin-top: 33px;
}

.bt_40 {
  margin-top: 40px;
}

.blog-thumbnail {
  width: 100%;
  position: relative;
  padding: 0;
}

.blog-img {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
}

.blog-thumbnail > .thumbnail-img::after {
  content: "";
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), transparent);
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.blog-img:hover {
  outline: 0;
  color: #000;
  transition: 0.3s;
  text-decoration: none;
}

.blog-thumbnail a img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  transition: transform 0.5s ease;
}

.blog-thumbnail a:hover img {
  transform: scale(1.05);
}

.post-image a img {
  height: 531px;
  object-fit: initial;
}

.blog-content {
  padding: 15px 20px 20px;
}

.blog-title {
  font-weight: 620;
  color: #000;
  margin-bottom: 15px;
  transition: all ease-in-out 0.2s;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  display: block;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}

.blog-title:hover {
  color: #000;
}

.post-meta .post-date {
  position: relative;
}

.post-read-time {
  float: right;
}

.Bp-top {
  margin-top: 55px;
}

.flex-slide {
  display: flex;
  align-items: stretch;
  transition: 300ms;
  position: relative;
}

.flex-slide .left {
  flex: 0 1 50%;
}

.blog-img-card {
  padding: 0;
}

.bbig-img:hover {
  outline: 0;
  color: #000;
  transition: 0.3s;
  text-decoration: none;
}

.blog-img-card img {
  max-height: 390px;
  width: auto;
  max-width: 100%;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  display: block;
}

.flex-slide .right {
  padding: 1rem 4rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  flex: 1;
}

.flex-slide .right h3 {
  font-size: 24px;
  text-align: left;
  font-weight: 620;
  color: #000;
  margin-bottom: 15px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}

.flex-slide .right .blog--title {
  font-size: 24px;
  text-align: left;
  font-weight: 620;
  margin-bottom: 15px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}

.flex-slide .right .blog--title:hover {
  color: #000;
}

.blog-block .right .post-meta span {
  font-size: 16px;
}

.blog-block .right p {
  font-size: 16px;
}

/* --- Blog Detail Page --- */

.blog-content-view {
  margin-top: 40px;
}

.blog-content-view h3 {
  font-size: 24px;
  text-align: left;
  font-weight: 620;
  color: #000;
  margin-bottom: 35px;
}

.blog-content-view .blogpost-meta {
  margin-bottom: 0;
  border-bottom: 1px solid #efefef;
  padding-bottom: 21px;
}

.blog-content-meta {
  margin-top: 33px;
}

.blog-content-meta p {
  margin-bottom: 24px;
  line-height: 28px;
}

.blog-description-article h5 {
  font-size: 18px;
  font-weight: 620;
  margin-bottom: 17px;
  margin-top: 30px;
  color: #000;
}

.blog_pagination {
  float: left;
  width: 100%;
  margin-top: 30px;
  margin-bottom: 0;
}

.bp_left {
  float: left;
  left: 0;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -ms-flex-align: center;
  z-index: 1;
}

.bp_left i {
  font-size: 24px;
  color: #000;
}

.bp_right {
  float: right;
  right: 0;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -ms-flex-align: center;
  z-index: 1;
}

.bp_right i {
  font-size: 24px;
  color: #000;
}

.kslu15 {
  margin-left: 15px;
  text-align: left;
}

.blog-description-list {
  margin-bottom: 32px;
  padding-left: 15px;
}

.blog-description-list li {
  list-style: circle;
  margin-bottom: 10px;
}

.blog-description-list li:last-child {
  margin-bottom: 0;
}

.social-share {
  border-left: 3px solid #2e2e2e;
  padding-left: 20px;
  margin: 45px 0 25px;
}

.social-share h4 {
  font-size: 18px;
  font-weight: 620;
  margin-bottom: 13px;
}

.social-share ul li {
  display: inline-block;
  margin-right: 20px;
}

.share-link {
  font-size: 24px;
  color: #2e2e2e;
}

.share-link:hover {
  color: #514b4b;
}

/* --- Help Center Page --- */

.help-center-logo {
  font-size: 14px;
  padding: 10px 10px 0;
}

.help-item {
  padding: 1.5rem;
}

.help-item-content h4 {
  font-size: 16px;
  font-weight: 620;
}

.help-item-content {
  margin-left: 20px;
}

.help-item-icon {
  background: #e6e6e6;
  width: 42px;
  height: 42px;
  line-height: 44px;
  text-align: center;
  border-radius: 50%;
  font-size: 16px;
  color: #717171;
}

.help-item-content span {
  color: #717171;
}

.help-center-title h4 {
  font-size: 24px;
  font-weight: 620;
  margin-bottom: 27px;
  padding-bottom: 23px;
}

.help-item-link {
  font-size: 16px;
  color: #000;
  display: block;
  padding: 1.5rem;
  border-bottom: 1px solid #efefef;
}

.help-item-link:hover {
  color: var(--sr-primary-hover, #5e0101);
}

.help-item-link:last-child {
  border-bottom: 0;
}

.upload-file-dt {
  background: #fff;
  border: 2px dashed #efefef;
  border-radius: 5px;
  text-align: center;
  padding: 30px 20px 17px;
}

.upload-btn [type="file"] {
  height: 0;
  overflow: hidden;
  width: 0;
}

.upload-btn [type="file"] + label {
  cursor: pointer;
  display: inline-block;
  outline: none;
  transition: all 0.3s;
  vertical-align: middle;
  margin: 0 0 17px;
  color: #fff;
  background-color: #2e2e2e;
  border: 0;
  font-size: 14px;
  font-weight: 554;
  height: 40px;
  padding: 10px 25px;
  border-radius: 3px;
  text-transform: uppercase;
}

.upload-btn [type="file"] + label:hover {
  color: #fff;
  background: #514b4b;
}

.upload-file-dt span {
  font-size: 16px;
  font-weight: 554;
  margin-bottom: 0;
  display: block;
  color: #000;
  background-color: transparent;
  overflow: hidden;
  line-height: 26px;
}

.uploadBtn-file-name {
  display: block;
  color: #717171;
  background-color: transparent;
  overflow: hidden;
  line-height: 26px;
}

.upload-btn small {
  display: block;
  color: #717171;
}

.help-faq-content {
  padding: 10px 0;
}

.help-faq-link {
  color: #000;
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 10px 20px;
}

.help-faq-link:hover {
  color: #2e2e2e;
}

.help-faq-link:before {
  content: "\f15c";
  font-family: "FontAwesome";
  font-weight: 400;
  margin-right: 15px;
}

.help-v-content p {
  margin-bottom: 27px;
}

.help-v-footer {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-top: 20px;
}

.helful-title {
  font-size: 16px;
  font-weight: 554;
  margin-bottom: 0;
  margin-right: 5px;
}

.helpful-btn {
  color: #2e2e2e;
  margin: 0 5px;
  font-size: 16px;
}

.helpful-btn:hover {
  color: #514b4b;
}

.helpful-btn span {
  font-weight: 554;
}

.help-pagination-link {
  font-size: 16px;
  font-weight: 400;
  margin-top: 20px;
  color: #717171;
}

.help-pagination-link:hover {
  color: #2e2e2e;
}

.kb-card {
  display: block;
}

.kb-content p {
  margin-bottom: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}

/* --- About Us Page --- */

.about--description {
  margin-top: 40px;
}

.about--description p {
  font-size: 16px;
  line-height: 30px;
  margin-bottom: 21px;
}

.about--description p:last-child {
  margin-bottom: 0;
}

.communities-steps {
  margin-top: 10px;
}

.communities-item {
  display: block;
  margin-top: 30px;
  height: 470px;
  box-shadow: 0 8px 11px 2px rgb(64 70 74 / 2%);
}

.communities-img {
  padding: 10px 10px 0;
}

.communities-img img {
  width: 100%;
  border-radius: 5px;
}

.communities-content p {
  margin-bottom: 0;
  padding: 20px;
  font-size: 16px;
  line-height: 30px;
  color: #000;
}

.feature-step-link {
  width: 20%;
}

.feature-img img {
  height: 100%;
  width: 100%;
  margin-top: 40px;
}

.mt-40 {
  margin-top: 40px;
}

.custom-border-top {
  border-top: 2px solid #efefef;
  padding-top: 3px;
}

.team-card {
  margin-top: 30px;
  box-shadow: 0 8px 11px 2px rgb(64 70 74 / 2%);
}

.user-social-link {
  font-size: 18px;
  width: 40px;
  height: 40px;
  display: inline-block;
  border: 2px solid #2e2e2e;
  border-radius: 100%;
  text-align: center;
  line-height: 39px;
  color: #2e2e2e;
  margin-right: 7px;
}

.user-social-link:hover {
  border: 2px solid #2e2e2e;
  background-color: #2e2e2e;
  color: #fff;
  margin-right: 7px;
}

.user-social-links-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 23px;
  padding: 0;
  list-style: none;
}

.user-social-links-group li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.user-social-links-group .user-social-link {
  margin-right: 0;
}

.partner-share-box {
  margin-top: 16px;
  padding: 14px;
  border: 1px solid var(--ads-border);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(123, 2, 2, .06), transparent 58%),
    var(--ads-surface-alt, #fafafa);
}

.partner-share-box__eyebrow {
  margin: 0 0 3px;
  font-size: 11px;
  font-weight: 446;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #7b0202;
}

.partner-share-box__text {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--ads-muted);
}

.partner-share-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.partner-share-list li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.partner-share-link {
  width: 100%;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 11px;
  border: 1px solid var(--ads-border);
  border-radius: 999px;
  background: var(--ads-surface);
  color: var(--ads-text, #222);
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .04);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background-color .18s ease,
    color .18s ease;
}

.partner-share-link i,
.partner-share-link svg {
  font-size: 15px;
  flex: 0 0 auto;
}

.partner-share-link:hover,
.partner-share-link:focus {
  transform: translateY(-1px);
  border-color: rgba(123, 2, 2, .35);
  background: #7b0202;
  color: #fff;
  box-shadow: 0 12px 24px rgba(123, 2, 2, .16);
  text-decoration: none;
}

.partner-share-link:focus-visible {
  outline: 3px solid rgba(123, 2, 2, .22);
  outline-offset: 2px;
}

@media (max-width: 420px) {
  .partner-share-list {
    grid-template-columns: 1fr;
  }
}

.team-img {
  padding: 10px 10px 0;
}

.team-img img {
  width: 100%;
  border-radius: 5px;
}

.team-content {
  text-align: center;
  padding: 20px;
}

.team-content h4 {
  font-size: 18px;
  font-weight: 620;
  margin-bottom: 13px;
  color: #000;
}

.team-content span {
  margin-bottom: 0;
  font-size: 14px;
  color: #717171;
  letter-spacing: 0.1px;
}

/* --- Sell Tickets Online Page --- */

.easy-steps-list {
  padding-top: 20px;
}

.easy-step {
  padding: 30px;
  margin-top: 1.5rem;
  height: 290px;
  box-shadow: 0 8px 11px 2px rgb(64 70 74 / 2%);
}

.easy-icon {
  display: block;
  margin-bottom: 24px;
}

.easy-icon img {
  width: 50px;
}

.easy-step h4 {
  font-size: 18px;
  font-weight: 620;
  margin-bottom: 17px;
  color: #000;
}

.easy-step p {
  margin-bottom: 0;
}

.bg-dark {
  background: #1c2131;
}

.c-white {
  color: #fff;
}

.c-bbb {
  color: rgba(255, 255, 255, 0.8);
}

.bg-dark .step-tabs .step-link:hover {
  background-color: #313539;
}

.bg-dark .step-link {
  border-bottom: 1px solid #52565b;
}

.bg-dark .step-tabs .step-link.active:hover {
  color: #fff;
  background-color: #2e2e2e;
}

/* --- Create Page --- */

.create-block {
  margin-top: 20px;
}

.create-card {
  text-align: center;
  padding: 30px;
  box-shadow: 0 8px 11px 2px rgb(64 70 74 / 2%);
}

.create-icon {
  display: inline-block;
}

.create-icon i {
  font-size: 20px;
  color: #000;
  width: 60px;
  height: 60px;
  line-height: 60px;
  background: #e6e6e6;
  border-radius: 50%;
  margin-bottom: 22px;
}

.create-card h4 {
  font-size: 18px;
  font-weight: 620;
  margin-bottom: 27px;
  color: #000;
}

/* --- Coming Soon Page --- */

.coming-soon-area {
  height: 100vh;
}

.d-table {
  width: 100%;
  height: 100%;
}

.d-table-cell {
  display: flex;
  align-items: center;
  justify-content: center;
}

.coming-soon-content {
  max-width: 700px;
  border-radius: 5px;
  overflow: hidden;
  text-align: center;
  padding: 60px;
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 20px 3px rgb(0 0 0 / 5%);
  box-shadow: 0 0 20px 3px rgb(0 0 0 / 5%);
  margin: auto;
}

.coming-soon-content h2 {
  font-size: 40px;
  margin-top: -10px;
  margin-bottom: 0;
  font-weight: 620;
}

.coming-soon-content #timer div span {
  display: block;
  margin-top: -2px;
  font-weight: 400;
  font-size: 14px;
}

.coming-soon-content #timer {
  margin-top: 40px;
}

.coming-soon-content #timer div {
  border: 2px dashed #2e2e2e;
  color: #2e2e2e;
  width: 100px;
  height: 105px;
  border-radius: 5px;
  font-size: 40px;
  font-weight: 650;
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 30px;
}

.subscribe-btn {
  position: absolute;
  right: 5px;
  top: 5px;
}

/* --- Error 404 Page --- */

.error-404-content h2 {
  font-size: 130px;
  font-weight: 650;
  letter-spacing: 10px;
}

.error-404-content h4 {
  font-size: 24px;
  margin-bottom: 21px;
}

.error-404-content p {
  font-size: 16px;
  padding: 0 50px;
  margin-bottom: 37px;
}

.error {
  border: 1px solid red;
}

.error-message {
  color: red;
  font-size: 12px;
}

/* --- Refer a Friend Page --- */

.total-refer-count h2 {
  font-size: 40px;
  color: #000;
  font-weight: 620;
}

.total-refer-count span {
  color: #717171;
  font-size: 16px;
  margin-top: 10px;
  display: block;
}

.refer-card {
  background: linear-gradient(
    203.73deg,
    rgba(9, 164, 219, 0.2) 2.53%,
    rgba(34, 216, 143, 0.2) 122.47%
  );
}

.refer-content h5 {
  margin-bottom: 20px;
}

.refer-content h3 {
  font-weight: 620;
  margin-bottom: 30px;
}

.refer-copy-input h5 {
  margin-bottom: 10px;
  font-weight: 400;
}

.referral-icon {
  font-size: 24px;
  width: 70px;
  height: 70px;
  background: #fafafa;
  border: 1px solid #efefef;
  overflow: hidden;
  text-align: center;
  border-radius: 50%;
  padding-top: 0;
  line-height: 70px;
}

/* --- Terms & Condition Page --- */

.term-link {
  font-size: 16px;
  font-weight: 400;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  display: block;
  border: none;
  margin-bottom: 15px;
  padding: 0;
  color: #000;
  background: transparent;
  text-decoration: none;
  transition:
    color 0.15s ease-in-out,
    background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out;
}

.term-link:last-child {
  margin-bottom: 0;
}

.terms-tabs .term-link.active,
.terms-tabs .show > .term-link {
  color: #2e2e2e;
}

.terms-tabs .term-link:hover {
  color: #514b4b;
}

.terms-tabs .term-link.active:hover {
  color: #2e2e2e;
}

.terms-main-title h4 {
  font-size: 24px;
  font-weight: 620;
  margin-bottom: 17px;
}

.terms-content p {
  margin-bottom: 24px;
  line-height: 28px;
}

.terms-content ol {
  display: block;
  list-style-type: decimal;
}

.terms-content ul,
ol {
  padding: 0 0 0 20px;
  margin-left: 0;
}

.terms-content ol li {
  font-size: 18px;
  line-height: 24px;
  margin-bottom: 13px;
  margin-top: 27px;
  font-weight: 554;
}

.terms-content ul li {
  font-size: 14px;
  line-height: 26px;
  color: #717171;
}

.terms-content ul {
  margin-bottom: 27px;
  display: block;
  list-style-type: disc;
}

.terms-content ul:last-child {
  margin-bottom: 0;
  display: block;
}

.terms-content ul li ul {
  list-style-type: revert;
  margin-top: 10px;
}

.terms-content ul li ul li {
  margin-bottom: 10px;
}

.terms-content ul li ul li:last-child {
  margin-bottom: 31px;
}

/* --- Privacy Policy Page --- */

.privacy-main-title h4 {
  font-size: 24px;
  font-weight: 620;
  margin-bottom: 27px;
}

.privacy-content h5 {
  font-size: 18px;
  font-weight: 554;
  margin-bottom: 16px;
  padding-top: 7px;
}

.privacy-content p {
  margin-bottom: 25px;
  line-height: 28px;
}

.privacy-content span {
  display: block;
  margin-bottom: 13px;
}

.privacy-content span:last-child {
  margin-bottom: 0;
}

/* --- Booking Confirmed Page --- */

.booking-confirmed-img {
  margin-bottom: 27px;
}

.booking-confirmed-img img {
  width: 60px;
}

.booking-confirmed-top h4 {
  font-size: 24px;
  font-weight: 620;
  margin-bottom: 16px;
}

.add-calender-booking {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 18px;
}

.event-submitted-actions {
  flex-direction: column;
  align-items: stretch;
  gap: 18px;
}

.event-submitted-action-group {
  display: grid;
  justify-items: center;
  gap: 10px;
}

.event-submitted-action-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  padding-left: 0;
}

.event-submitted-action-list .list-inline-item {
  margin: 0;
}

.event-submitted-calendar-toggle {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 18px;
  color: #fff;
  background: #a00000;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 620;
  text-decoration: none;
}

.event-submitted-calendar-toggle:hover,
.event-submitted-calendar-toggle:focus {
  color: #fff;
  background: #2e2e2e;
  text-decoration: none;
}

.event-submitted-calendar-menu {
  min-width: 220px;
  border: 0;
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.14);
  padding: 8px;
}

.event-submitted-calendar-menu .dropdown-item {
  border-radius: 6px;
  font-size: 14px;
  font-weight: 554;
  padding: 9px 10px;
}

/* Organiser attendee messages */
.oam-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.oam-hero h1 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: #111;
}

.oam-hero p {
  margin: 6px 0 0;
  color: #6f6f6f;
}

.oam-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.oam-compose-card {
  border: 1px solid #e5e7eb;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.oam-section-title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #111;
}

.oam-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px;
  background: linear-gradient(135deg, #fffaf4 0%, #f7f7f7 100%);
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  overflow: visible;
}

.oam-editor-toolbar button {
  align-items: center;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 999px;
  color: #3b3b3b;
  cursor: pointer;
  display: inline-flex;
  font-size: 13px;
  font-weight: 620;
  height: 36px;
  justify-content: center;
  min-height: 36px;
  padding: 0;
  position: relative;
  transition: background-color 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, color 0.16s ease, transform 0.16s ease;
  width: 36px;
}

.oam-editor-toolbar button:hover,
.oam-editor-toolbar button:focus-visible,
.oam-editor-toolbar button.active {
  border-color: #f27100;
  box-shadow: 0 8px 20px rgba(242, 113, 0, 0.14);
  color: #a00000;
  transform: translateY(-1px);
}

.oam-editor-toolbar button::after {
  background: #20160f;
  border-radius: 8px;
  bottom: calc(100% + 8px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
  color: #fff;
  content: attr(data-tooltip);
  font-size: 12px;
  font-weight: 700;
  left: 50%;
  line-height: 1.2;
  opacity: 0;
  padding: 7px 9px;
  pointer-events: none;
  position: absolute;
  transform: translate(-50%, 4px);
  transition: opacity 0.14s ease, transform 0.14s ease;
  white-space: nowrap;
  z-index: 30;
}

.oam-editor-toolbar button:hover::after,
.oam-editor-toolbar button:focus-visible::after {
  opacity: 1;
  transform: translate(-50%, 0);
}

.oam-editor {
  min-height: 260px;
  padding: 18px;
  border: 1px solid #e6e6e6;
  border-radius: 0 0 8px 8px;
  background: #fff;
  line-height: 1.6;
  outline: none;
}

.oam-editor:empty::before {
  color: #9ca3af;
  content: attr(data-placeholder);
  pointer-events: none;
}

.oam-editor ul,
.oam-editor ol {
  margin: 12px 0;
  padding-left: 28px;
}

.oam-editor ul {
  list-style: disc;
}

.oam-editor ol {
  list-style: decimal;
}

.oam-editor li {
  margin: 4px 0;
}

.oam-editor blockquote {
  border-left: 4px solid #f27100;
  color: #4b5563;
  margin: 14px 0;
  padding: 8px 0 8px 16px;
}

.oam-editor a {
  color: #a00000;
  cursor: pointer;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.oam-editor a.sr-tiptap-link-selected {
  background: rgba(242, 113, 0, 0.14);
  border-radius: 4px;
}

.oam-editor img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 12px 0;
  border-radius: 6px;
  cursor: pointer;
}

.oam-editor img.sr-tiptap-image-selected {
  outline: 3px solid rgba(242, 113, 0, 0.35);
  outline-offset: 3px;
}

.sr-tiptap-image-tools {
  align-items: center;
  background: #20160f;
  border-radius: 999px;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.24);
  display: flex;
  gap: 4px;
  padding: 6px;
  position: absolute;
  z-index: 95;
}

.sr-tiptap-image-tools[hidden] {
  display: none;
}

.sr-tiptap-image-tools button {
  background: rgba(255, 255, 255, 0.1);
  border: 0;
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  padding: 8px 10px;
}

.sr-tiptap-image-tools button:hover,
.sr-tiptap-image-tools button:focus-visible {
  background: #f27100;
  outline: none;
}

.sr-tiptap-link-dialog {
  align-items: center;
  background: rgba(17, 24, 39, 0.42);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 18px;
  position: fixed;
  z-index: 100;
}

.sr-tiptap-link-dialog[hidden] {
  display: none;
}

.sr-tiptap-link-panel {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.26);
  max-width: 430px;
  padding: 22px;
  width: 100%;
}

.sr-tiptap-link-panel h3 {
  color: #111827;
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 18px;
}

.sr-tiptap-link-panel label {
  color: #374151;
  display: block;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 14px;
}

.sr-tiptap-link-panel label span {
  display: block;
  margin-bottom: 7px;
}

.sr-tiptap-link-panel input {
  border: 1px solid #d1d5db;
  border-radius: 8px;
  color: #111827;
  font-size: 14px;
  height: 42px;
  padding: 0 12px;
  width: 100%;
}

.sr-tiptap-link-panel input:focus {
  border-color: #f27100;
  box-shadow: 0 0 0 3px rgba(242, 113, 0, 0.14);
  outline: none;
}

.sr-tiptap-link-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 18px;
}

.sr-tiptap-link-actions button {
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  min-height: 38px;
  padding: 0 18px;
}

.sr-tiptap-link-actions button[type="button"] {
  background: #f3f4f6;
  color: #374151;
}

.sr-tiptap-link-actions button[type="submit"] {
  background: #20160f;
  color: #fff;
}

.sr-tiptap-link-actions button:hover,
.sr-tiptap-link-actions button:focus-visible {
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.14);
  outline: none;
}

.sr-tiptap-link-tools {
  align-items: center;
  background: #20160f;
  border-radius: 12px;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24);
  display: flex;
  gap: 6px;
  max-width: min(520px, calc(100vw - 24px));
  padding: 7px;
  position: absolute;
  z-index: 96;
}

.sr-tiptap-link-tools[hidden] {
  display: none;
}

.sr-tiptap-link-url {
  color: #fed7aa;
  font-size: 12px;
  font-weight: 700;
  max-width: 220px;
  overflow: hidden;
  padding: 0 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sr-tiptap-link-tools button {
  background: rgba(255, 255, 255, 0.1);
  border: 0;
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  min-height: 30px;
  padding: 0 10px;
}

.sr-tiptap-link-tools button:hover,
.sr-tiptap-link-tools button:focus-visible {
  background: #f27100;
  outline: none;
}

html.night-mode .oam-editor-toolbar {
  background: linear-gradient(135deg, #111827 0%, #1f2937 100%);
  border-color: rgba(255, 255, 255, 0.14);
}

html.night-mode .oam-editor-toolbar button {
  background: #1f2937;
  border-color: rgba(255, 255, 255, 0.14);
  color: #e5e7eb;
}

html.night-mode .oam-editor-toolbar button:hover,
html.night-mode .oam-editor-toolbar button:focus-visible,
html.night-mode .oam-editor-toolbar button.active {
  border-color: #fb923c;
  box-shadow: 0 8px 20px rgba(251, 146, 60, 0.18);
  color: #fed7aa;
}

html.night-mode .oam-editor-toolbar button::after {
  background: #f9fafb;
  color: #111827;
}

html.night-mode .oam-editor {
  background: #111827;
  border-color: rgba(255, 255, 255, 0.14);
  color: #e5e7eb;
}

html.night-mode .oam-editor blockquote {
  color: #d1d5db;
}

html.night-mode .oam-editor a {
  color: #fed7aa;
}

html.night-mode .sr-tiptap-image-tools {
  background: #f9fafb;
}

html.night-mode .sr-tiptap-image-tools button {
  background: rgba(17, 24, 39, 0.08);
  color: #111827;
}

html.night-mode .sr-tiptap-image-tools button:hover,
html.night-mode .sr-tiptap-image-tools button:focus-visible {
  background: #fb923c;
}

html.night-mode .sr-tiptap-link-panel {
  background: #111827;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.48);
}

html.night-mode .sr-tiptap-link-panel h3,
html.night-mode .sr-tiptap-link-panel label {
  color: #e5e7eb;
}

html.night-mode .sr-tiptap-link-panel input {
  background: #1f2937;
  border-color: rgba(255, 255, 255, 0.14);
  color: #f9fafb;
}

html.night-mode .sr-tiptap-link-actions button[type="button"] {
  background: #1f2937;
  color: #e5e7eb;
}

html.night-mode .sr-tiptap-link-actions button[type="submit"] {
  background: #fb923c;
  color: #111827;
}

html.night-mode .sr-tiptap-link-tools {
  background: #f9fafb;
}

html.night-mode .sr-tiptap-link-url {
  color: #9a3412;
}

html.night-mode .sr-tiptap-link-tools button {
  background: rgba(17, 24, 39, 0.08);
  color: #111827;
}

html.night-mode .sr-tiptap-link-tools button:hover,
html.night-mode .sr-tiptap-link-tools button:focus-visible {
  background: #fb923c;
}

.oam-summary-panel {
  border: 1px solid #ececec;
  border-radius: 8px;
  padding: 20px;
  background: #fbfbfb;
  position: sticky;
  top: 88px;
}

.oam-summary-panel h2 {
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 700;
}

.oam-summary-panel p {
  margin: 0 0 12px;
  color: #374151;
}

.oam-summary-divider {
  height: 1px;
  margin: 16px 0;
  background: #e5e7eb;
}

.oam-direct-message-input.form-control {
  min-height: 220px;
  padding: 14px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #f8fafc;
  box-shadow: none;
  line-height: 1.55;
  resize: vertical;
}

.oam-direct-message-input.form-control:focus {
  border-color: #6e0000;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(110, 0, 0, 0.12);
}

.oam-direct-compose-tools {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.oam-direct-image-name {
  color: #4b5563;
  font-size: 13px;
  font-weight: 600;
}

.oam-row-message-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.oam-table {
  margin-bottom: 0;
  vertical-align: middle;
}

.oam-table thead th {
  border-bottom: 1px solid #e5e7eb;
  color: #6b7280;
  font-size: 12px;
  font-weight: 448;
  text-transform: uppercase;
}

.oam-table tbody td {
  border-color: #f0f2f5;
  color: #111827;
}

.oam-table tbody tr:hover {
  background: #fffafa;
}

.oam-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.oam-detail-grid div {
  border: 1px solid #eeeeee;
  border-radius: 8px;
  padding: 14px;
  background: #fafafa;
}

.oam-detail-grid span {
  display: block;
  margin-bottom: 4px;
  color: #6d6d6d;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.oam-detail-grid strong {
  color: #111;
  font-size: 15px;
}

.oam-message-preview {
  border: 1px solid #eeeeee;
  border-radius: 8px;
  padding: 18px;
  background: #fff;
  line-height: 1.7;
}

.oam-message-preview ul,
.oam-message-preview ol {
  margin: 12px 0;
  padding-left: 28px;
}

.oam-message-preview ul {
  list-style: disc;
}

.oam-message-preview ol {
  list-style: decimal;
}

.oam-message-preview img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 12px 0;
  border-radius: 6px;
}

.add-calender-booking h5 {
  font-size: 14px;
  font-weight: 620;
  margin-bottom: 0;
}

.cb-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #717171;
  font-size: 14px;
  width: 30px;
  height: 30px;
  background: #e6e6e6;
  margin-left: 10px;
  line-height: 30px;
  border-radius: 50%;
}

.event-submitted-action-list .cb-icon {
  width: 46px;
  height: 46px;
  min-width: 46px;
  line-height: 46px;
  margin-left: 0;
  font-size: 18px;
}

.cb-icon:hover {
  color: #fff;
  background: #2e2e2e;
}

.booking-confirmed-bottom {
  padding: 0 5px 5px;
}

.booking-confirmed-bottom-bg {
  background: #f9f9f9;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}

.booking-confirmed-seat-card {
  background: #fff;
  border-color: #e5e5e5;
}

.buyer-name {
  font-size: 14px;
  font-weight: 554;
  color: #000;
  font-family: inherit;
}

.booking-total-tickets span {
  margin-bottom: 0;
  font-size: 14px;
  color: #000;
  display: inline-block;
  margin-top: 13px;
}

.booking-total-grand {
  margin-bottom: 0;
  font-size: 14px;
  color: #000;
  margin-top: 13px;
}

.booking-total-grand span {
  margin-bottom: 0;
  font-size: 14px;
  color: #000;
  display: inline-block;
  margin-left: 2px;
}

/* --- Invoice Page --- */

.invoice-header {
  background: #1c2131;
  display: flex;
  width: 100%;
  align-items: center;
  height: 60px;
  padding: 5px 20px;
}

.invoice-header-logo img {
  height: 40px;
  width: auto;
}

.download-link {
  color: rgba(255, 255, 255, 0.9);
  font-size: 16px;
  font-weight: 554;
}

.download-link:hover {
  color: rgba(255, 255, 255, 1);
}

.invoice-body {
  padding: 30px;
  background: #fff;
  float: left;
  width: 100%;
}

.invoice_title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 24px;
  font-weight: 620;
  color: #000;
  text-align: left;
}

.vhls140 {
  width: 100%;
  margin-top: 30px;
}

.vhls140 ul li {
  display: block;
  margin-bottom: 5px;
}

.vdt-list {
  font-size: 14px;
  font-weight: 400;
  color: #717171;
  text-align: left;
  line-height: 24px;
}

.totalinv2 {
  font-size: 18px;
  font-weight: 554;
  color: #000;
  margin-bottom: 8px;
}

.user_dt_trans {
  padding: 10px;
}

.user_dt_trans p {
  margin-bottom: 0;
}

.cut-line {
  position: relative;
  border-bottom-width: 1px;
  border-top: 0;
  border-radius: 0;
  border-left: 0;
  border-style: dashed;
  height: 1px;
  color: #bbb;
  margin-top: 30px;
  margin-bottom: 30px;
}

.cut-line i {
  position: absolute;
  top: -6px;
  background: #fff;
  width: 16px;
}

.QR-dt {
  height: 100%;
  background: #f9f9f9;
}

.QR-scanner {
  background: #fff;
  display: inline-block;
  padding: 5px;
  border: 1px solid #efefef;
  border-radius: 3px;
}

.QR-scanner img {
  width: 75px;
}

.QR-dt p {
  margin-bottom: 0;
  font-size: 12px;
  margin-top: 5px;
}

.QR-counter-type li {
  margin-bottom: 3px;
  color: #000;
}

.QR-counter-type li:first-child {
  margin-bottom: 17px;
  font-weight: 554;
  font-size: 16px;
}

.QR-counter-type li:last-child {
  margin-bottom: 20px;
  font-weight: 554;
  font-size: 16px;
}

.featured-controls label {
  margin: 0;
  cursor: pointer;
  text-align: center;
}

.featured-controls label:first-child {
  margin-left: 0;
}

.featured-controls label span {
  font-size: 12px;
  color: #717171;
  border: 1px solid #efefef;
  background: #fff;
  height: 32px;
  padding: 7px 20px;
  border-radius: 30px;
  display: inline-block;
  margin-right: 6px;
  margin-bottom: 6px;
}

.featured-controls label input {
  position: absolute;
  top: -20px;
}


.featured-controls input:checked + span {
  background: #efefef;
  color: #000;
}

.event-box {
  padding: 0;
  display: none;
  margin-top: 0;
}

.map iframe {
  width: 100%;
  height: 250px;
}

.blog-description-article img {
  max-width: 100%;
  height: auto;
  display: block;
}

.main-card.help-v-content.p-4 img {
  max-height: 390px;
  width: auto;
  max-width: 100%;
  display: block;
  margin: 0 auto;
  border-radius: 4px;
}

#events-container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.cookie-banner {
  position: fixed;
  bottom: 0;
  width: 100%;
  background-color: #eedfdf;
  padding: 10px;
  border-top: 1px solid #ccc;
  text-align: center;
  display: none;
  z-index: 60;
}

.cookie-banner p {
  display: inline-block;
  margin-right: 20px;
}

.cookie-button {
  background-color: #383838;
  color: #ffffff;
  border: none;
  border-radius: 5px;
  padding: 1px 20px;
  cursor: pointer;
  font-size: 16px;
  transition: background-color 0.3s ease;
}

.cookie-button:hover {
  background-color: #cf3ce9;
}

.cookie-button:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(98, 0, 234, 0.4);
}

.custom-input-group {
  display: flex;
  align-items: center;
  border: 1px solid #424242;
  width: 100%;
}

.custom-input {
  padding-left: 15px;
  padding-right: 15px;
  border: none;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  width: 70%;
  font-size: 14px;
}

.custom-select {
  border: none;
  border-left: 1px solid #424242;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  width: 30%;
  font-size: 12px;
  padding-left: 5px;
}

.quill-editor {
  min-height: 200px;
}

.copy--legal {
  font-size: 0.85em;
  opacity: 0.75;
  margin-top: 4px;
  line-height: 1.4;
}

/* --- Attendee Profile Dashboard --- */
body.attendee-profile-page {
         --sr-bg: #f8fafc;
         --sr-bg-accent: #eef2ff;
         --sr-panel: #ffffff;
         --sr-panel-soft: #f8fafc;
         --sr-border: #e2e8f0;
         --sr-text: #0f172a;
         --sr-muted: #64748b;
         --sr-primary: #7a0000;
         --sr-primary-dark: #360202;
         --sr-primary-soft: #fff1f1;
         --sr-success: #047857;
         --sr-success-bg: #ecfdf5;
         --sr-warning: #b45309;
         --sr-warning-bg: #fffbeb;
         --sr-danger: #b91c1c;
         --sr-danger-bg: #fef2f2;
         --sr-info: #6E0000;
         --sr-info-bg: #fbf4ef;
         --sr-muted-bg: #f1f5f9;
         --sr-radius: 20px;
         --sr-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
         --sr-hero-a: #8f1616;
         --sr-hero-b: #4a0606;
         --sr-hero-c: #170101;
         --sr-hero-text: #ffffff;
         --sr-hero-subtext: rgba(255, 255, 255, 0.82);
         --sr-hero-chip: rgba(255, 255, 255, 0.12);
         --sr-hero-border: rgba(255, 255, 255, 0.16);
      }

      body.attendee-profile-page.dark-mode,
      html.night-mode body.attendee-profile-page,
      html.dark-mode body.attendee-profile-page,
      [data-theme="dark"] body.attendee-profile-page {
         --sr-bg: #050101;
         --sr-bg-accent: #140303;
         --sr-panel: #160606;
         --sr-panel-soft: #210909;
         --sr-border: rgba(120, 67, 67, 0.14);
         --sr-text: #fff2f2;
         --sr-muted: #d7b8b5;
         --sr-primary: #ff7a7a;
         --sr-primary-dark: #ffd7d7;
         --sr-primary-soft: rgba(255, 122, 122, 0.14);
         --sr-success: #34d399;
         --sr-success-bg: rgba(16, 185, 129, 0.12);
         --sr-warning: #fbbf24;
         --sr-warning-bg: rgba(251, 191, 36, 0.12);
         --sr-danger: #f87171;
         --sr-danger-bg: rgba(248, 113, 113, 0.12);
         --sr-info: #c28a63;
         --sr-info-bg: rgba(194, 138, 99, 0.14);
         --sr-muted-bg: #230a0a;
         --sr-shadow: 0 18px 42px rgba(0, 0, 0, 0.42);
         --sr-hero-a: #3b0505;
         --sr-hero-b: #170202;
         --sr-hero-c: #050101;
         --sr-hero-text: #ffffff;
         --sr-hero-subtext: rgba(255, 231, 231, 0.86);
         --sr-hero-chip: rgba(255, 255, 255, 0.08);
         --sr-hero-border: rgba(255, 255, 255, 0.12);
      }

      body.attendee-profile-page {
         font-family: 'Inter', sans-serif;
         background: linear-gradient(180deg, var(--sr-bg) 0%, var(--sr-bg-accent) 100%);
         color: var(--sr-text);
      }

      .dashboard-shell {
         padding: 32px 0 64px;
      }

      .dashboard-hero {
         position: relative;
         overflow: hidden;
         background: radial-gradient(circle at top left, var(--sr-hero-a) 0%, var(--sr-hero-b) 52%, var(--sr-hero-c) 100%);
         border-radius: 32px;
         color: #fff;
         padding: 32px;
         box-shadow: 0 20px 50px rgba(49, 46, 129, 0.28);
         margin-bottom: 24px;
      }

      .dashboard-hero::after {
         content: '';
         position: absolute;
         inset: auto -80px -80px auto;
         width: 260px;
         height: 260px;
         background: rgba(255, 255, 255, 0.08);
         border-radius: 50%;
         filter: blur(8px);
      }

      .hero-profile {
         display: flex;
         gap: 20px;
         align-items: center;
         position: relative;
         z-index: 1;
      }

      .hero-avatar {
         width: 84px;
         height: 84px;
         border-radius: 24px;
         overflow: hidden;
         background: rgba(255, 255, 255, 0.16);
         display: flex;
         align-items: center;
         justify-content: center;
         font-size: 30px;
         font-weight: 650;
         flex-shrink: 0;
         border: 2px solid rgba(255, 255, 255, 0.22);
         color: #fff;
      }

      .hero-avatar img {
         width: 100%;
         height: 100%;
         object-fit: cover;
      }

      .hero-title {
         display: inline-flex;
         align-items: center;
         gap: 8px;
         flex-wrap: wrap;
         font-size: 2rem;
         line-height: 1.1;
         margin: 0 0 6px;
         color: #fff;
      }

      .hero-title .sr-verified-badge {
         flex: 0 0 auto;
         width: 22px;
         height: 22px;
         font-size: 13px;
         vertical-align: middle;
      }

      .hero-subtitle {
         margin: 0;
         color: rgba(255, 255, 255, 0.9);
      }

      .hero-kicker {
         letter-spacing: .08em;
         color: rgba(255, 255, 255, .78);
      }

      .hero-about {
         max-width: 760px;
      }

      .hero-actions {
         display: flex;
         flex-wrap: wrap;
         gap: 12px;
         margin-top: 24px;
         position: relative;
         z-index: 1;
      }

      .hero-btn,
      .ghost-btn,
      .action-btn {
         display: inline-flex;
         align-items: center;
         justify-content: center;
         gap: 8px;
         border: 0;
         border-radius: 14px;
         padding: 12px 18px;
         text-decoration: none;
         font-weight: 620;
         transition: .2s ease;
      }

      .hero-btn {
         background: #fff;
         color: #360202;
         border: 1px solid rgba(255, 255, 255, 0.5);
         box-shadow: 0 12px 24px rgba(0, 0, 0, 0.18);
      }

      .hero-btn:hover,
      .hero-btn:focus {
         transform: translateY(-1px);
         color: #360202;
         background: #fff7f7;
      }

      .ghost-btn {
         background: rgba(255, 255, 255, 0.14);
         color: #fff;
         border: 1px solid rgba(255, 255, 255, 0.34);
         box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
      }

      .ghost-btn:hover,
      .ghost-btn:focus {
         color: #360202;
         background: #ffffff;
         border-color: #ffffff;
         transform: translateY(-1px);
      }

      html.night-mode body.attendee-profile-page .dashboard-hero,
      html.dark-mode body.attendee-profile-page .dashboard-hero,
      [data-theme="dark"] body.attendee-profile-page .dashboard-hero {
         background:
            radial-gradient(circle at 14% 0%, rgba(255, 122, 122, 0.18), transparent 22rem),
            linear-gradient(135deg, var(--sr-hero-a), var(--sr-hero-b) 58%, var(--sr-hero-c));
         box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
      }

      html.night-mode body.attendee-profile-page .dashboard-hero .hero-title,
      html.dark-mode body.attendee-profile-page .dashboard-hero .hero-title,
      [data-theme="dark"] body.attendee-profile-page .dashboard-hero .hero-title {
         color: #fff;
      }

      html.night-mode body.attendee-profile-page .dashboard-hero .hero-subtitle,
      html.dark-mode body.attendee-profile-page .dashboard-hero .hero-subtitle,
      html.night-mode body.attendee-profile-page .dashboard-hero .hero-kicker,
      html.dark-mode body.attendee-profile-page .dashboard-hero .hero-kicker,
      [data-theme="dark"] body.attendee-profile-page .dashboard-hero .hero-subtitle,
      [data-theme="dark"] body.attendee-profile-page .dashboard-hero .hero-kicker {
         color: rgba(255, 238, 238, 0.88);
      }

      .stats-grid {
         display: grid;
         grid-template-columns: repeat(4, minmax(0, 1fr));
         gap: 16px;
         margin-bottom: 24px;
      }

      .stat-card,
      .panel-card,
      .list-card {
         background: var(--sr-panel);
         border: 1px solid var(--sr-border);
         border-radius: var(--sr-radius);
         box-shadow: var(--sr-shadow);
      }

      .stat-card {
         padding: 20px;
      }

      .stat-label {
         color: var(--sr-muted);
         font-size: 0.92rem;
         margin-bottom: 8px;
      }

      .stat-value {
         font-size: 1.8rem;
         margin: 0;
         color: var(--sr-text);
      }

      .stat-meta {
         color: var(--sr-muted);
         font-size: 0.88rem;
         margin-top: 6px;
      }

      .content-grid {
         display: grid;
         grid-template-columns: 320px minmax(0, 1fr);
         gap: 24px;
         align-items: start;
      }

      .sticky-column {
         position: sticky;
         top: 24px;
      }

      .panel-card {
         padding: 24px;
         margin-bottom: 24px;
      }

      .panel-title,
      .section-title {
         display: flex;
         justify-content: space-between;
         align-items: center;
         gap: 12px;
         margin-bottom: 18px;
      }

      .panel-title h3,
      .section-title h3 {
         font-size: 1.1rem;
         font-weight: 700;
         margin: 0;
         color: var(--sr-text);
      }

      .panel-subtitle {
         color: var(--sr-muted);
         margin: 0;
         font-size: 0.92rem;
      }

      .quick-nav {
         display: grid;
         gap: 10px;
      }

      .quick-nav a {
         display: flex;
         align-items: center;
         justify-content: space-between;
         gap: 12px;
         padding: 14px 16px;
         border-radius: 14px;
         text-decoration: none;
         color: var(--sr-text);
         background: var(--sr-panel-soft);
         border: 1px solid transparent;
         font-weight: 620;
      }

      .quick-nav a:hover,
      .quick-nav a:focus {
         border-color: var(--sr-primary);
         background: var(--sr-primary-soft);
         color: var(--sr-text);
      }

      .alert-strip {
         border-radius: 16px;
         padding: 16px 18px;
         margin-bottom: 18px;
         display: flex;
         justify-content: space-between;
         align-items: center;
         gap: 14px;
         border: 1px solid transparent;
      }

      .alert-warning-soft {
         background: var(--sr-warning-bg);
         border-color: var(--sr-warning);
         color: var(--sr-text);
      }

      .section-block {
         margin-bottom: 24px;
         scroll-margin-top: 24px;
      }

      .list-card {
         padding: 0;
         overflow: hidden;
      }

      .list-head {
         padding: 12px 18px;
         border-bottom: 1px solid var(--sr-border);
         background: linear-gradient(180deg, var(--sr-panel) 0%, var(--sr-panel-soft) 100%);
      }

      .list-body {
         padding: 4px 18px 12px;
      }

      .item-row {
         display: grid;
         grid-template-columns: 64px minmax(0, 1fr) auto;
         gap: 12px;
         align-items: center;
         padding: 12px 0;
         border-bottom: 1px solid var(--sr-border);
      }

      .item-row:last-child {
         border-bottom: 0;
      }

      .item-image {
         width: 64px;
         height: 64px;
         border-radius: 12px;
         overflow: hidden;
         background: var(--sr-muted-bg);
      }

      .item-image img {
         width: 100%;
         height: 100%;
         object-fit: cover;
      }

      .item-title {
         font-size: 1rem;
         font-weight: 700;
         margin: 0 0 6px;
         color: var(--sr-text);
         overflow: hidden;
         text-overflow: ellipsis;
         white-space: nowrap;
      }

      .item-meta,
      .item-copy {
         color: var(--sr-muted);
         margin: 0 0 6px;
         font-size: 0.92rem;
         overflow: hidden;
         text-overflow: ellipsis;
         white-space: nowrap;
      }

      .item-main {
         min-width: 0;
      }

      .item-actions {
         display: flex;
         flex-wrap: wrap;
         gap: 6px;
         justify-content: flex-end;
         align-items: center;
      }

      .action-btn {
         background: var(--sr-panel-soft);
         color: var(--sr-text);
         border: 1px solid var(--sr-border);
         padding: 7px 10px;
         min-height: 34px;
         border-radius: 10px;
         font-size: 0.84rem;
         line-height: 1.1;
         white-space: nowrap;
      }

      .action-btn.compact {
         padding-inline: 9px;
      }

      .action-btn.primary {
         background: var(--sr-primary);
         border-color: var(--sr-primary);
         color: #fff;
      }

      .action-btn.danger {
         background: var(--sr-panel);
         border-color: var(--sr-danger);
         color: #fff;
      }

      .action-btn:hover,
      .action-btn:focus {
         transform: translateY(-1px);
         color: inherit;
      }

      .action-btn.primary:hover,
      .action-btn.primary:focus,
      .danger-zone .action-btn.primary:hover,
      .danger-zone .action-btn.primary:focus {
         color: #fff;
      }

      .badge-pill {
         display: inline-flex;
         align-items: center;
         border-radius: 999px;
         padding: 6px 10px;
         font-size: 0.8rem;
         font-weight: 700;
      }

      .badge-pill.success {
         background: var(--sr-success-bg);
         color: var(--sr-success);
      }

      .badge-pill.warning {
         background: var(--sr-warning-bg);
         color: var(--sr-warning);
      }

      .badge-pill.danger {
         background: var(--sr-danger-bg);
         color: var(--sr-danger);
      }

      .badge-pill.info {
         background: var(--sr-info-bg);
         color: var(--sr-info);
      }

      .badge-pill.muted {
         background: var(--sr-muted-bg);
         color: var(--sr-muted);
      }

      .mini-grid {
         display: grid;
         grid-template-columns: repeat(3, minmax(0, 1fr));
         gap: 14px;
      }

      .profile-summary-grid {
         grid-template-columns: 1fr;
      }

      .mini-card {
         background: var(--sr-panel-soft);
         border: 1px solid var(--sr-border);
         border-radius: 18px;
         padding: 16px;
      }

      .mini-label {
         color: var(--sr-muted);
         font-size: 0.82rem;
         margin-bottom: 8px;
      }

      .mini-value {
         font-size: 1rem;
         font-weight: 700;
         margin: 0;
         word-break: break-word;
         color: var(--sr-text);
      }

      .form-stack {
         display: grid;
         gap: 16px;
      }

      .sr-label {
         display: block;
         margin-bottom: 8px;
         font-weight: 620;
         color: var(--sr-text);
      }

      .sr-input {
         width: 100%;
         min-height: 52px;
         border: 1px solid var(--sr-border);
         border-radius: 14px;
         padding: 12px 14px;
         background: var(--sr-panel);
         color: var(--sr-text);
      }

      .sr-input::placeholder {
         color: var(--sr-muted);
      }

      .input-wrap {
         position: relative;
      }

      .toggle-password {
         position: absolute;
         right: 14px;
         top: 50%;
         transform: translateY(-50%);
         border: 0;
         background: transparent;
         color: var(--sr-muted);
      }

      .empty-state {
         text-align: center;
         padding: 42px 24px;
         color: var(--sr-muted);
      }

      .section-switcher {
         display: flex;
         gap: 10px;
         flex-wrap: wrap;
         margin-bottom: 16px;
      }

      .section-switcher button {
         border: 1px solid var(--sr-border);
         background: var(--sr-panel);
         color: var(--sr-text);
         border-radius: 999px;
         padding: 10px 14px;
         font-weight: 620;
      }

      .section-switcher button.active {
         background: var(--sr-primary);
         color: #fff;
         border-color: var(--sr-primary);
      }

      .content-section {
         display: none;
      }

      .content-section.active {
         display: block;
      }

      .danger-zone {
         border: 1px solid var(--sr-danger);
         background: var(--sr-danger-bg);
      }

      .danger-zone .action-btn.primary {
         background: var(--sr-danger);
         border-color: var(--sr-danger);
      }

      
      .sr-profile-modal {
         border-radius: 20px;
         border: 0;
         overflow: hidden;
      }

      .alert {
         border-radius: 16px;
      }

      .event-title-link {
         color: var(--sr-text);
         text-decoration: none;
      }

      .event-title-link:hover,
      .event-title-link:focus {
         color: var(--sr-primary);
      }

      .danger-zone-toggle {
         width: 100%;
         border: 0;
         background: transparent;
         color: var(--sr-text);
         text-align: left;
         display: flex;
         justify-content: space-between;
         align-items: center;
         gap: 16px;
         padding: 0;
      }

      .danger-zone-toggle i {
         transition: transform .2s ease;
      }

      .danger-zone-toggle[aria-expanded="true"] i {
         transform: rotate(180deg);
      }

      .danger-zone .list-body {
         border-top: 1px solid var(--sr-border);
      }

/* --- Attendee Profile Edit And Settings --- */
body.attendee-edit-page,
body.attendee-settings-page {
  --attendee-page-bg: #fff8f6;
  --attendee-panel: #ffffff;
  --attendee-panel-soft: #fff1f1;
  --attendee-border: #f0d7d4;
  --attendee-text: #240404;
  --attendee-muted: #765c58;
  --attendee-brand: #7a0000;
  --attendee-brand-dark: #360202;
  --attendee-danger: #b42318;
  --attendee-shadow: 0 22px 55px rgba(54, 2, 2, 0.1);
  background:
    radial-gradient(circle at top left, rgba(122, 0, 0, .12), transparent 32rem),
    linear-gradient(180deg, var(--attendee-page-bg), #ffffff);
  color: var(--attendee-text);
}

body.attendee-edit-page.dark-mode,
body.attendee-settings-page.dark-mode,
html.dark-mode body.attendee-edit-page,
html.dark-mode body.attendee-settings-page,
[data-theme="dark"] body.attendee-edit-page,
[data-theme="dark"] body.attendee-settings-page {
  --attendee-page-bg: #100202;
  --attendee-panel: #1a0707;
  --attendee-panel-soft: rgba(255, 122, 122, .1);
  --attendee-border: rgba(255, 214, 214, .14);
  --attendee-text: #fff3f3;
  --attendee-muted: #d9b9b6;
  --attendee-brand: #ff7a7a;
  --attendee-brand-dark: #ffd7d7;
  --attendee-danger: #ff8a80;
  --attendee-shadow: 0 22px 55px rgba(0, 0, 0, .28);
}

.attendee-edit-hero,
.attendee-settings-hero {
  padding: 54px 0 34px;
  background:
    radial-gradient(circle at 18% 10%, rgba(255,255,255,.22), transparent 18rem),
    linear-gradient(135deg, #7a0000 0%, #360202 58%, #140101 100%);
  color: #fff;
}

.attendee-edit-hero-grid {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
}

.attendee-edit-hero h1,
.attendee-settings-hero h1 {
  color: #fff;
  font-size: clamp(2rem, 5vw, 4.2rem);
  line-height: .98;
  font-weight: 620;
  margin: 0 0 14px;
  letter-spacing: -.04em;
}

.attendee-edit-hero p,
.attendee-settings-hero p {
  color: rgba(255,255,255,.78);
  font-size: 1.05rem;
  max-width: 680px;
  margin-bottom: 0;
}

.attendee-edit-kicker {
  color: rgba(255,255,255,.72);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .78rem;
  margin-bottom: 12px;
}

.attendee-edit-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.attendee-edit-shell {
  padding: 36px 0 70px;
}

.attendee-edit-grid,
.attendee-settings-grid {
  display: grid;
  grid-template-columns: 340px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.attendee-profile-preview,
.attendee-settings-summary {
  position: sticky;
  top: 86px;
  display: grid;
  gap: 18px;
}

.attendee-profile-card,
.attendee-form-panel {
  background: var(--attendee-panel);
  border: 1px solid var(--attendee-border);
  border-radius: 30px;
  box-shadow: var(--attendee-shadow);
}

.attendee-profile-card {
  padding: 24px;
}

.attendee-profile-card.soft {
  box-shadow: none;
  background: var(--attendee-panel-soft);
}

.attendee-profile-card img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 24px;
  margin-bottom: 20px;
  background: var(--attendee-panel-soft);
}

.attendee-profile-card h2,
.attendee-profile-card h3,
.attendee-form-panel h2 {
  color: var(--attendee-text);
  font-weight: 620;
  margin: 0 0 8px;
}

.attendee-profile-card p,
.attendee-form-panel p,
.attendee-profile-card span,
.attendee-danger-body p {
  color: var(--attendee-muted);
}

.attendee-profile-card span {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  line-height: 1.5;
}

.attendee-form-panel {
  padding: 28px;
  margin-bottom: 24px;
}

.attendee-form-head {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  align-items: center;
  margin-bottom: 24px;
}

.attendee-form-head.compact {
  align-items: flex-start;
}

.attendee-avatar-picker {
  position: relative;
  display: block;
  width: 116px;
  height: 116px;
  flex: 0 0 116px;
  cursor: pointer;
}

.attendee-avatar-picker img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 28px;
  border: 3px solid var(--attendee-panel-soft);
}

.attendee-avatar-picker span {
  position: absolute;
  right: -6px;
  bottom: -6px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: var(--attendee-brand);
  box-shadow: 0 12px 30px rgba(122, 0, 0, .25);
}

.attendee-avatar-picker input {
  display: none;
}

.attendee-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.attendee-form-grid .span-2 {
  grid-column: 1 / -1;
}

.attendee-form-grid label {
  display: block;
  color: var(--attendee-text);
  margin-bottom: 8px;
}

.attendee-form-grid input,
.attendee-form-grid textarea,
.attendee-form-grid select {
  width: 100%;
  border: 1px solid var(--attendee-border);
  background: var(--attendee-panel);
  color: var(--attendee-text);
  min-height: 52px;
  border-radius: 16px;
  padding: 12px 14px;
}

.attendee-form-grid textarea {
  min-height: 140px;
  resize: vertical;
}

.attendee-form-grid input:focus,
.attendee-form-grid textarea:focus,
.attendee-form-grid select:focus {
  border-color: var(--attendee-brand);
  box-shadow: 0 0 0 4px rgba(122, 0, 0, .1);
  outline: 0;
}

.attendee-form-footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 24px;
}

.attendee-edit-btn {
  border: 1px solid transparent;
  border-radius: 999px;
  min-height: 48px;
  padding: 12px 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 620;
  text-decoration: none;
}

.attendee-edit-btn.primary {
  background: var(--attendee-brand);
  color: #fff;
}

.attendee-edit-btn.danger {
  background: var(--attendee-danger);
  color: #fff;
}

.attendee-edit-btn.ghost {
  background: rgba(255,255,255,.12);
  color: #fff;
  border-color: rgba(255,255,255,.2);
}

.attendee-edit-btn.ghost.dark {
  background: var(--attendee-panel-soft);
  color: var(--attendee-text);
  border-color: var(--attendee-border);
}

.attendee-social-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.attendee-social-row a {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: var(--attendee-panel);
  color: var(--attendee-brand);
  border: 1px solid var(--attendee-border);
}

.attendee-social-row a.is-empty {
  opacity: .36;
  pointer-events: none;
}

.attendee-settings-stack {
  min-width: 0;
}

.attendee-settings-nav {
  display: grid;
  gap: 10px;
}

.attendee-settings-nav a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 16px;
  background: var(--attendee-panel);
  border: 1px solid var(--attendee-border);
  color: var(--attendee-text);
}

.attendee-danger-panel {
  border-color: var(--attendee-danger);
}

.attendee-danger-panel .danger-zone-toggle {
  padding: 0;
}

.danger-zone-toggle span span {
  display: block;
  color: var(--attendee-muted);
  font-size: .92rem;
  margin-top: 4px;
}

.attendee-danger-body {
  border-top: 1px solid var(--attendee-border);
  margin-top: 22px;
  padding-top: 22px;
}

/* --- Attendee List Pages --- */
body.attendee-list-page {
  --attendee-list-bg: #fff8f6;
  --attendee-list-panel: #ffffff;
  --attendee-list-soft: #fff1f1;
  --attendee-list-border: #f0d7d4;
  --attendee-list-text: #240404;
  --attendee-list-muted: #765c58;
  --attendee-list-brand: #7a0000;
  --attendee-list-brand-dark: #360202;
  --attendee-list-shadow: 0 20px 45px rgba(54, 2, 2, .09);
  background:
    radial-gradient(circle at 8% 8%, rgba(122, 0, 0, .1), transparent 24rem),
    linear-gradient(180deg, var(--attendee-list-bg));
  color: var(--attendee-list-text);
}

body.attendee-list-page.dark-mode,
html.night-mode body.attendee-list-page,
html.dark-mode body.attendee-list-page,
[data-theme="dark"] body.attendee-list-page {
  --attendee-list-bg: #050101;
  --attendee-list-panel: #160606;
  --attendee-list-soft: #230909;
  --attendee-list-border: rgba(255, 214, 214, .16);
  --attendee-list-text: #fff2f2;
  --attendee-list-muted: #d7b8b5;
  --attendee-list-brand: #ff7a7a;
  --attendee-list-brand-dark: #ffd7d7;
  --attendee-list-shadow: 0 22px 50px rgba(0, 0, 0, .42);
  background:
    radial-gradient(circle at 8% 8%, rgba(255, 122, 122, .12), transparent 24rem),
    linear-gradient(180deg, var(--attendee-list-bg), #120303);
}

.attendee-list-hero {
  padding: 52px 0 32px;
  background:
    radial-gradient(circle at 85% 10%, rgba(255,255,255,.18), transparent 20rem),
    linear-gradient(135deg, #7a0000, #360202 62%, #140101);
  color: #fff;
}

.attendee-list-hero h1 {
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1;
  font-weight: 620;
  margin: 0 0 12px;
  letter-spacing: -.03em;
}

.attendee-list-hero p {
  color: rgba(255,255,255,.78);
  max-width: 720px;
  margin: 0;
  font-size: 1rem;
}

html.night-mode body.attendee-list-page .attendee-list-hero,
html.dark-mode body.attendee-list-page .attendee-list-hero,
[data-theme="dark"] body.attendee-list-page .attendee-list-hero {
  background:
    radial-gradient(circle at 85% 8%, rgba(255, 122, 122, .14), transparent 20rem),
    linear-gradient(135deg, #3b0505, #170202 62%, #050101);
  box-shadow: inset 0 -1px 0 rgba(255, 214, 214, .12);
}

html.night-mode body.attendee-list-page .attendee-list-hero h1,
html.dark-mode body.attendee-list-page .attendee-list-hero h1,
[data-theme="dark"] body.attendee-list-page .attendee-list-hero h1 {
  color: #fff;
}

html.night-mode body.attendee-list-page .attendee-list-hero p,
html.dark-mode body.attendee-list-page .attendee-list-hero p,
[data-theme="dark"] body.attendee-list-page .attendee-list-hero p {
  color: rgba(255, 238, 238, .86);
}

.attendee-list-shell {
  padding: 34px 0 70px;
}

.attendee-list-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-bottom: 18px;
}

.attendee-list-search {
  width: min(100%, 420px);
  min-height: 48px;
  border: 1px solid var(--attendee-list-border);
  border-radius: 999px;
  background: var(--attendee-list-panel);
  color: var(--attendee-list-text);
  padding: 12px 18px;
}

.attendee-list-grid {
  display: grid;
  gap: 16px;
}

.attendee-list-card {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  background: var(--attendee-list-panel);
  border: 1px solid var(--attendee-list-border);
  border-radius: 26px;
  box-shadow: var(--attendee-list-shadow);
  padding: 16px;
}

html.night-mode body.attendee-list-page .attendee-list-card,
html.dark-mode body.attendee-list-page .attendee-list-card,
[data-theme="dark"] body.attendee-list-page .attendee-list-card,
html.night-mode body.attendee-list-page .attendee-list-empty,
html.dark-mode body.attendee-list-page .attendee-list-empty,
[data-theme="dark"] body.attendee-list-page .attendee-list-empty {
  background: var(--attendee-list-panel);
  border-color: var(--attendee-list-border);
  color: var(--attendee-list-text);
}

html.night-mode body.attendee-list-page .attendee-list-card h2,
html.dark-mode body.attendee-list-page .attendee-list-card h2,
[data-theme="dark"] body.attendee-list-page .attendee-list-card h2 {
  color: var(--attendee-list-text);
}

html.night-mode body.attendee-list-page .attendee-list-card p,
html.dark-mode body.attendee-list-page .attendee-list-card p,
[data-theme="dark"] body.attendee-list-page .attendee-list-card p,
html.night-mode body.attendee-list-page .attendee-list-empty,
html.dark-mode body.attendee-list-page .attendee-list-empty,
[data-theme="dark"] body.attendee-list-page .attendee-list-empty {
  color: var(--attendee-list-muted);
}

.attendee-list-image {
  width: 112px;
  height: 112px;
  border-radius: 20px;
  overflow: hidden;
  background: var(--attendee-list-soft);
}

.attendee-list-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.attendee-list-card h2 {
  color: var(--attendee-list-text);
  font-size: 1.15rem;
  font-weight: 620;
  margin: 0 0 8px;
}

.attendee-list-card p {
  color: var(--attendee-list-muted);
  margin: 0 0 6px;
}

.attendee-list-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

body.attendee-list-page .attendee-edit-btn.primary {
  background: var(--attendee-list-brand);
  color: #fff;
}

body.attendee-list-page .attendee-edit-btn.ghost.dark {
  background: var(--attendee-list-soft);
  color: var(--attendee-list-text);
  border-color: var(--attendee-list-border);
}

body.attendee-list-page .attendee-edit-btn.ghost.dark:hover,
body.attendee-list-page .attendee-edit-btn.ghost.dark:focus {
  background: var(--attendee-list-panel);
  border-color: var(--attendee-list-brand);
  color: var(--attendee-list-brand-dark);
}

html.night-mode body.attendee-list-page .attendee-edit-btn.ghost.dark,
html.dark-mode body.attendee-list-page .attendee-edit-btn.ghost.dark,
[data-theme="dark"] body.attendee-list-page .attendee-edit-btn.ghost.dark {
  color: #fff2f2;
}

html.night-mode body.attendee-list-page .attendee-edit-btn.ghost.dark:hover,
html.night-mode body.attendee-list-page .attendee-edit-btn.ghost.dark:focus,
html.dark-mode body.attendee-list-page .attendee-edit-btn.ghost.dark:hover,
html.dark-mode body.attendee-list-page .attendee-edit-btn.ghost.dark:focus,
[data-theme="dark"] body.attendee-list-page .attendee-edit-btn.ghost.dark:hover,
[data-theme="dark"] body.attendee-list-page .attendee-edit-btn.ghost.dark:focus {
  background: rgba(255, 122, 122, .16);
  border-color: rgba(255, 122, 122, .42);
  color: #fff;
}

/* --- User Invoice Redesign --- */
body.invoice-redesign-page {
  --invoice-bg: #fff8f6;
  --invoice-panel: #ffffff;
  --invoice-soft: #fff1f1;
  --invoice-border: #f0d7d4;
  --invoice-text: #260404;
  --invoice-muted: #765c58;
  --invoice-brand: #7a0000;
  --invoice-brand-dark: #360202;
  --invoice-success: #047857;
  --invoice-warning: #b45309;
  --invoice-danger: #b91c1c;
  --invoice-shadow: 0 24px 70px rgba(54, 2, 2, .12);
  background:
    radial-gradient(circle at 8% 8%, rgba(122, 0, 0, .1), transparent 26rem),
    linear-gradient(180deg, var(--invoice-bg));
  color: var(--invoice-text);
  min-height: 100vh;
}

html.night-mode body.invoice-redesign-page,
html.dark-mode body.invoice-redesign-page,
[data-theme="dark"] body.invoice-redesign-page {
  --invoice-bg: #050101;
  --invoice-panel: #160606;
  --invoice-soft: #230909;
  --invoice-border: rgba(255, 214, 214, .16);
  --invoice-text: #fff2f2;
  --invoice-muted: #d7b8b5;
  --invoice-brand: #ff7a7a;
  --invoice-brand-dark: #ffd7d7;
  --invoice-shadow: 0 28px 78px rgba(0, 0, 0, .46);
  background:
    radial-gradient(circle at 8% 8%, rgba(255, 122, 122, .12), transparent 26rem),
    linear-gradient(180deg, var(--invoice-bg), #120303);
}

body.invoice-redesign-page.invoice-exporting {
  --invoice-panel: #ffffff;
  --invoice-soft: #fff1f1;
  --invoice-border: #f0d7d4;
  --invoice-text: #260404;
  --invoice-muted: #765c58;
  --invoice-brand: #7a0000;
  --invoice-brand-dark: #360202;
}

.sr-invoice-shell {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
  padding: 32px 0 64px;
}

.sr-invoice-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  padding: 36px;
  border-radius: 34px;
  background:
    radial-gradient(circle at 86% 12%, rgba(255,255,255,.18), transparent 20rem),
    linear-gradient(135deg, #7a0000, #360202 62%, #140101);
  color: #fff;
  box-shadow: var(--invoice-shadow);
  margin-bottom: 24px;
}

html.night-mode body.invoice-redesign-page .sr-invoice-hero,
html.dark-mode body.invoice-redesign-page .sr-invoice-hero,
[data-theme="dark"] body.invoice-redesign-page .sr-invoice-hero {
  background:
    radial-gradient(circle at 86% 12%, rgba(255, 122, 122, .14), transparent 20rem),
    linear-gradient(135deg, #3b0505, #170202 62%, #050101);
}

.sr-invoice-hero h1 {
  color: #fff;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: .96;
  margin: 0 0 12px;
  font-weight: 620;
  letter-spacing: -.04em;
}

.sr-invoice-hero p {
  color: rgba(255, 238, 238, .86);
  max-width: 680px;
  margin: 0;
}

.sr-invoice-kicker {
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .78rem;
  font-weight: 620;
  margin-bottom: 10px;
}

.sr-invoice-actions,
.sr-invoice-bottom-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.sr-invoice-actions {
  justify-content: flex-end;
}

.sr-invoice-btn {
  border: 1px solid transparent;
  border-radius: 999px;
  min-height: 48px;
  padding: 12px 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 620;
  text-decoration: none;
  cursor: pointer;
}

.sr-invoice-btn.primary {
  background: #fff;
  color: #360202;
  box-shadow: 0 14px 28px rgba(0,0,0,.18);
}

.sr-invoice-btn.ghost {
  background: rgba(255,255,255,.12);
  color: #fff;
  border-color: rgba(255,255,255,.28);
}

.sr-invoice-btn.ghost.dark {
  background: var(--invoice-soft);
  color: var(--invoice-text);
  border-color: var(--invoice-border);
}

.sr-invoice-bottom-actions .sr-invoice-btn.primary {
  background: var(--invoice-brand);
  color: #fff;
  box-shadow: var(--invoice-shadow);
}

.sr-invoice-paper {
  background: var(--invoice-panel);
  border: 1px solid var(--invoice-border);
  border-radius: 34px;
  box-shadow: var(--invoice-shadow);
  padding: clamp(22px, 4vw, 42px);
}

.sr-invoice-paper-head,
.sr-invoice-title-row,
.sr-invoice-footer {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
}

.sr-invoice-logo img {
  height: 38px;
  width: auto;
}

.sr-invoice-status {
  display: grid;
  gap: 8px;
  justify-items: end;
  color: var(--invoice-muted);
}

.sr-invoice-status strong {
  color: var(--invoice-text);
  font-size: .95rem;
}

.sr-invoice-status-pill,
.sr-invoice-lines small {
  border-radius: 999px;
  padding: 7px 12px;
  font-weight: 620;
  font-size: .78rem;
}

.sr-invoice-status-pill.success {
  background: rgba(4, 120, 87, .12);
  color: var(--invoice-success);
}

.sr-invoice-status-pill.warning {
  background: rgba(180, 83, 9, .12);
  color: var(--invoice-warning);
}

.sr-invoice-status-pill.danger {
  background: rgba(185, 28, 28, .12);
  color: var(--invoice-danger);
}

.sr-invoice-status-pill.muted,
.sr-invoice-status-pill.info {
  background: var(--invoice-soft);
  color: var(--invoice-muted);
}

.sr-invoice-title-row {
  margin: 34px 0;
  padding: 28px 0;
  border-top: 1px solid var(--invoice-border);
  border-bottom: 1px solid var(--invoice-border);
}

.sr-invoice-title-row h2 {
  color: var(--invoice-text);
  margin: 0 0 10px;
  font-size: clamp(1.6rem, 3vw, 2.6rem);
  font-weight: 620;
  letter-spacing: -.03em;
}

.sr-invoice-title-row a {
  color: var(--invoice-brand);
  font-weight: 620;
  text-decoration: none;
}

.sr-invoice-total-card {
  min-width: 230px;
  border-radius: 24px;
  background: var(--invoice-soft);
  border: 1px solid var(--invoice-border);
  padding: 20px;
  text-align: right;
}

.sr-invoice-total-card span,
.sr-invoice-info-grid span,
.sr-invoice-summary-strip span,
.sr-invoice-footer span {
  color: var(--invoice-muted);
  font-size: .86rem;
}

.sr-invoice-total-card strong {
  display: block;
  color: var(--invoice-text);
  font-size: 1.65rem;
  margin-top: 8px;
}

.sr-invoice-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 18px;
}

.sr-invoice-info-grid article {
  border: 1px solid var(--invoice-border);
  border-radius: 24px;
  padding: 20px;
  background: linear-gradient(180deg, var(--invoice-panel), var(--invoice-soft));
}

.sr-invoice-info-grid strong {
  display: block;
  color: var(--invoice-text);
  font-size: 1.08rem;
  margin: 8px 0;
}

.sr-invoice-info-grid p,
.sr-invoice-info-grid dd {
  color: var(--invoice-muted);
  margin: 0 0 6px;
}

.sr-invoice-info-grid dl,
.sr-invoice-info-grid dt,
.sr-invoice-info-grid dd {
  margin-bottom: 0;
}

.sr-invoice-info-grid dl {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.sr-invoice-info-grid dl div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid var(--invoice-border);
  padding-bottom: 10px;
}

.sr-invoice-info-grid dl div:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.sr-invoice-info-grid dt {
  color: var(--invoice-text);
  font-weight: 620;
}

.sr-invoice-summary-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 24px 0;
}

.sr-invoice-summary-strip div {
  border-radius: 20px;
  background: var(--invoice-soft);
  border: 1px solid var(--invoice-border);
  padding: 16px;
}

.sr-invoice-summary-strip strong,
.sr-invoice-footer strong {
  display: block;
  color: var(--invoice-text);
  font-size: 1.25rem;
  margin-top: 6px;
}

.sr-invoice-lines {
  border: 1px solid var(--invoice-border);
  border-radius: 24px;
  overflow: hidden;
}

.sr-invoice-line {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) .7fr .9fr .9fr;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border-bottom: 1px solid var(--invoice-border);
  color: var(--invoice-text);
}

.sr-invoice-line:last-child {
  border-bottom: 0;
}

.sr-invoice-line-head {
  background: var(--invoice-brand-dark);
  color: #fff;
  font-weight: 620;
}

.sr-invoice-line strong {
  display: block;
  color: var(--invoice-text);
}

.sr-invoice-line-head strong,
.sr-invoice-line-head span {
  color: #fff;
}

.sr-invoice-lines small {
  display: inline-flex;
  margin-top: 8px;
  background: var(--invoice-soft);
  color: var(--invoice-muted);
}

.sr-invoice-empty {
  padding: 28px;
  color: var(--invoice-muted);
  text-align: center;
}

.sr-invoice-footer {
  margin-top: 24px;
  border-radius: 24px;
  background: var(--invoice-soft);
  border: 1px solid var(--invoice-border);
  padding: 22px;
}

.sr-invoice-footer div:last-child {
  text-align: right;
}

.sr-invoice-bottom-actions {
  justify-content: center;
  margin-top: 20px;
}

@media (max-width: 767px) {
  .sr-invoice-hero,
  .sr-invoice-paper-head,
  .sr-invoice-title-row,
  .sr-invoice-footer {
    flex-direction: column;
    align-items: stretch;
  }

  .sr-invoice-actions,
  .sr-invoice-status,
  .sr-invoice-total-card,
  .sr-invoice-footer div:last-child {
    justify-items: start;
    justify-content: flex-start;
    text-align: left;
  }

  .sr-invoice-info-grid,
  .sr-invoice-summary-strip,
  .sr-invoice-line {
    grid-template-columns: 1fr;
  }

  .sr-invoice-line-head {
    display: none;
  }
}

@media print {
  body.invoice-redesign-page {
    background: #fff;
  }

  .sr-invoice-hero,
  .sr-invoice-bottom-actions {
    display: none;
  }

  .sr-invoice-shell {
    width: 100%;
    padding: 0;
  }

  .sr-invoice-paper {
    box-shadow: none;
    border-radius: 0;
  }
}

/* --- Support Ticket Pages --- */
body.support-ticket-page {
  --support-bg: #fff8f6;
  --support-panel: #ffffff;
  --support-soft: #fff1f1;
  --support-border: #f0d7d4;
  --support-text: #260404;
  --support-muted: #765c58;
  --support-brand: #7a0000;
  --support-brand-dark: #360202;
  --support-shadow: 0 22px 60px rgba(54, 2, 2, .1);
  background:
    radial-gradient(circle at 8% 8%, rgba(122, 0, 0, .1), transparent 24rem),
    linear-gradient(180deg, var(--support-bg));
  color: var(--support-text);
}

html.night-mode body.support-ticket-page,
html.dark-mode body.support-ticket-page,
[data-theme="dark"] body.support-ticket-page {
  --support-bg: #050101;
  --support-panel: #160606;
  --support-soft: #230909;
  --support-border: rgba(255, 214, 214, .16);
  --support-text: #fff2f2;
  --support-muted: #d7b8b5;
  --support-brand: #ff7a7a;
  --support-brand-dark: #ffd7d7;
  --support-shadow: 0 24px 62px rgba(0,0,0,.44);
  background:
    radial-gradient(circle at 8% 8%, rgba(255, 122, 122, .12), transparent 24rem),
    linear-gradient(180deg, var(--support-bg), #120303);
}

.support-shell {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 34px 0 70px;
}

@media (min-width: 992px) {
  body.support-ticket-page .support-shell.wrapper-body {
    width: auto;
    margin: 0 32px 0 286px;
  }

  body.support-ticket-page .support-shell.wrapper-body.wrapper__minify {
    margin-left: 112px;
  }
}

.support-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 34px;
  border-radius: 34px;
  background:
    radial-gradient(circle at 86% 12%, rgba(255,255,255,.18), transparent 20rem),
    linear-gradient(135deg, #7a0000, #360202 62%, #140101);
  color: #fff;
  box-shadow: var(--support-shadow);
  margin-bottom: 22px;
}

html.night-mode body.support-ticket-page .support-hero,
html.dark-mode body.support-ticket-page .support-hero,
[data-theme="dark"] body.support-ticket-page .support-hero {
  background:
    radial-gradient(circle at 86% 12%, rgba(255, 122, 122, .14), transparent 20rem),
    linear-gradient(135deg, #3b0505, #170202 62%, #050101);
}

.support-hero h1 {
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.8rem);
  line-height: .96;
  margin: 0 0 10px;
  font-weight: 620;
  letter-spacing: -.04em;
}

.support-hero p,
.support-kicker {
  color: rgba(255, 238, 238, .88);
  margin: 0;
}

.support-kicker {
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .78rem;
  font-weight: 620;
  margin-bottom: 10px;
}

.support-actions,
.support-filter-grid,
.support-tabs,
.support-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.support-detail-grid {
  display: grid;
  grid-template-columns: 340px minmax(0, 1fr);
  gap: 18px;
}

.support-detail-side,
.support-thread {
  display: grid;
  gap: 14px;
}

.support-detail-box {
  background: var(--support-panel);
  border: 1px solid var(--support-border);
  border-radius: 24px;
  padding: 18px;
}

.support-detail-box span {
  color: var(--support-muted);
  font-size: .84rem;
}

.support-detail-box strong {
  display: block;
  color: var(--support-text);
  margin-top: 6px;
}

.support-thread-card {
  padding: 18px;
}

.support-thread-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.support-thread-head strong {
  color: var(--support-text);
}

.support-message {
  color: var(--support-text);
  overflow-wrap: anywhere;
}

.support-message img,
.support-attachment img {
  max-width: 100%;
  height: auto;
  border-radius: 16px;
}

.support-message img,
.support-attachment-preview {
  cursor: zoom-in;
}

.support-attachment-preview {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  display: block;
}

.support-attachment-file {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  color: var(--support-text);
  overflow-wrap: anywhere;
  text-decoration: none;
}

.support-preview-modal {
  background: var(--support-panel);
  color: var(--support-text);
  border: 1px solid var(--support-border);
  border-radius: 24px;
}

.support-preview-modal .modal-body {
  text-align: center;
  background: var(--support-soft);
  border-radius: 0 0 24px 24px;
}

.support-preview-modal img {
  max-width: 100%;
  max-height: 78vh;
  border-radius: 18px;
}

.support-reply {
  display: block;
  margin-bottom: 14px;
}

.support-reply .support-btn {
  width: auto;
  max-width: max-content;
  min-height: 36px;
  height: 36px;
  padding: 0 14px;
  border-radius: 12px;
  font-size: .9rem;
  line-height: 1;
}

.support-reply .support-field {
  display: block;
  width: 100%;
  flex: 0 0 auto;
  margin-bottom: 0;
}

.support-reply .support-editor {
  display: block;
  width: 100%;
  margin-bottom: 0;
}

.support-reply .support-editor .ql-container {
  height: 180px;
  max-height: 180px;
  min-height: 180px;
  overflow: hidden;
}

.support-reply .support-editor .ql-editor {
  height: 180px;
  max-height: 180px;
  min-height: 180px;
  overflow-y: auto;
}

.support-reply-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding-top: 0;
  margin-top: 12px;
  clear: both;
}

.support-reply textarea {
  min-height: 180px;
}

.support-compose-grid {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 18px;
}

.support-compose-profile {
  display: grid;
  gap: 14px;
}

.support-compose-form {
  display: grid;
  gap: 16px;
}

.support-field .form-control,
.support-field .bootstrap-select > .dropdown-toggle {
  border: 1px solid var(--support-border);
  border-radius: 16px;
  min-height: 46px;
  background: var(--support-panel);
  color: var(--support-text);
  padding: 11px 14px;
}

.support-editor .ql-toolbar,
.support-editor .ql-container {
  border-color: var(--support-border);
  background: var(--support-panel);
  color: var(--support-text);
}

.support-editor .ql-toolbar {
  border-radius: 18px 18px 0 0;
}

.support-editor .ql-container {
  border-radius: 0 0 18px 18px;
}

.support-editor .ql-editor {
  min-height: 220px;
  color: var(--support-text);
}

.support-upload {
  border: 1px dashed var(--support-border);
  background: var(--support-soft);
  border-radius: 20px;
  padding: 16px;
  display: grid;
  gap: 8px;
}

.support-upload input {
  color: var(--support-text);
}

.support-alert {
  background: rgba(4, 120, 87, .12);
  border: 1px solid rgba(4, 120, 87, .18);
  color: #047857;
  border-radius: 18px;
  padding: 12px 14px;
  margin-bottom: 18px;
}

@media (max-width: 991px) {
  .support-grid,
  .support-detail-grid,
  .support-compose-grid,
  .support-stats {
    grid-template-columns: 1fr;
  }

  .support-hero {
    flex-direction: column;
    align-items: stretch;
  }
}

.attendee-list-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}

.attendee-list-tabs button {
  border: 1px solid var(--attendee-list-border);
  background: var(--attendee-list-panel);
  color: var(--attendee-list-text);
  border-radius: 999px;
  padding: 10px 16px;
}

.attendee-list-tabs button.active {
  background: var(--attendee-list-brand);
  border-color: var(--attendee-list-brand);
  color: #fff;
}

.attendee-list-empty {
  background: var(--attendee-list-panel);
  border: 1px dashed var(--attendee-list-border);
  color: var(--attendee-list-muted);
  border-radius: 26px;
  padding: 38px;
  text-align: center;
}

@media (max-width: 767px) {
  .attendee-list-toolbar,
  .attendee-list-card {
    grid-template-columns: 1fr;
  }

  .attendee-list-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .attendee-list-image {
    width: 100%;
    height: 190px;
  }

  .attendee-list-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 991px) {
  .attendee-edit-hero-grid,
  .attendee-edit-grid,
  .attendee-settings-grid {
    grid-template-columns: 1fr;
  }

  .attendee-profile-preview,
  .attendee-settings-summary {
    position: static;
  }

  .attendee-edit-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  .attendee-form-head,
  .attendee-form-grid {
    grid-template-columns: 1fr;
  }

  .attendee-form-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .attendee-form-grid .span-2 {
    grid-column: auto;
  }
}

      @media (max-width: 1199px) {
         .stats-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
         }

         .content-grid {
            grid-template-columns: 1fr;
         }

         .sticky-column {
            position: static;
         }
      }

      @media (max-width: 767px) {
         .dashboard-hero {
            padding: 24px;
            border-radius: 24px;
         }

         .hero-profile {
            flex-direction: column;
            align-items: flex-start;
         }

         .stats-grid,
         .mini-grid {
            grid-template-columns: 1fr;
         }

         .item-row {
            grid-template-columns: 56px minmax(0, 1fr);
         }

         .item-actions {
            grid-column: 1 / -1;
            justify-content: flex-start;
         }

         .action-btn {
            white-space: normal;
         }
      }

/* Manage events rebuild */
.manage-events-hero {
  background: linear-gradient(135deg, rgba(123, 2, 2, 0.14), rgba(20, 20, 20, 0.04));
  border: 1px solid rgba(123, 2, 2, 0.14);
  border-radius: 28px;
  padding: 28px;
  margin: 28px 0;
  overflow-wrap: anywhere;
}

.manage-events-hero h1 {
  margin: 0;
  color: var(--text-color, #1f1f1f);
  line-height: 1.1;
}

.manage-events-hero p {
  margin: 10px 0 0;
  color: var(--body-text-color, #5f5f5f);
  max-width: 760px;
}

.manage-events-toolbar,
.manage-events-stats,
.manage-event-card,
.manage-events-empty {
  background: var(--bs-body-bg);
  border: 1px solid rgba(123, 2, 2, 0.12);
  border-radius: 22px;
  box-shadow: 0 16px 38px rgba(29, 15, 15, 0.07);
}

.manage-events-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  margin-bottom: 18px;
}

.manage-events-toolbar form {
  display: flex;
  flex: 1 1 520px;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 0;
}

.manage-events-toolbar input,
.manage-events-toolbar select {
  max-width: 100%;
  min-height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(123, 2, 2, 0.16);
  padding: 0 16px;
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
}

.manage-events-toolbar input[type="search"] {
  flex: 1 1 260px;
}

.bulk-import-upload-field {
  flex: 1 1 360px;
}

.bulk-import-upload-field input.visually-hidden {
  min-height: 0;
  padding: 0;
}

.bulk-import-dropzone {
  display: flex;
  width: 100%;
  min-height: 76px;
  align-items: center;
  gap: 14px;
  margin: 0;
  padding: 16px 18px;
  border: 1px dashed rgba(123, 2, 2, 0.32);
  border-radius: 16px;
  background: rgba(123, 2, 2, 0.04);
  color: var(--bs-body-color);
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.bulk-import-dropzone i {
  display: inline-flex;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(123, 2, 2, 0.1);
  color: #7b0202;
  font-size: 18px;
}

.bulk-import-dropzone span,
.bulk-import-dropzone small {
  display: block;
}

.bulk-import-dropzone span {
  font-weight: 700;
}

.bulk-import-dropzone small {
  color: var(--body-text-color, #5f5f5f);
}

.bulk-import-dropzone:hover,
.bulk-import-dropzone:focus-within,
.bulk-import-dropzone.is-dragover {
  border-color: #7b0202;
  background: rgba(123, 2, 2, 0.08);
  box-shadow: 0 0 0 4px rgba(123, 2, 2, 0.08);
}

.manage-events-toolbar .main-btn,
.manage-events-toolbar .co-main-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  min-height: 44px;
  white-space: nowrap;
}

.manage-events-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  padding: 16px;
  margin-bottom: 18px;
}

.manage-events-stat {
  border-radius: 18px;
  padding: 16px;
  background: rgba(123, 2, 2, 0.06);
}

.manage-events-stat span {
  display: block;
  color: var(--body-text-color);
  font-size: 13px;
  font-weight: 700;
}

.manage-events-stat strong {
  display: block;
  color: var(--text-color);
  font-size: 20px;
  line-height: 1.1;
  margin-top: 6px;
}

.manage-events-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 540px), 1fr));
  gap: 18px;
}

.manage-event-card {
  overflow: hidden;
  min-width: 0;
}

.manage-event-card--list {
  display: grid;
  grid-template-columns: minmax(220px, 42%) minmax(280px, 1fr);
}

.manage-event-cover {
  position: relative;
  min-height: 220px;
  background: rgba(123, 2, 2, 0.08);
}

.manage-event-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.manage-event-status {
  position: absolute;
  left: 16px;
  top: 16px;
  border-radius: 999px;
  padding: 7px 12px;
  background: rgba(20, 20, 20, 0.78);
  color: #fff;
  font-size: 12px;
}

.manage-event-status--active {
  background: rgba(21, 128, 61, 0.86);
}

.manage-event-status--private {
  background: rgba(79, 70, 229, 0.86);
}

.manage-event-status--pending {
  background: rgba(217, 119, 6, 0.9);
}

.manage-event-status--draft {
  background: rgba(123, 2, 2, 0.9);
}

.manage-event-cover--draft {
  display: flex;
  align-items: center;
  justify-content: center;
}

.manage-event-draft-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 220px;
  color: #7b0202;
  font-size: 42px;
  background: rgba(123, 2, 2, 0.08);
}

.organiser-draft-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  min-height: 22px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #7b0202;
  color: #fff;
  font-size: 12px;
  font-weight: 650;
}

.draft-preview-modal {
  border: 0;
  border-radius: 18px;
  overflow: hidden;
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
}

.modal {
  z-index: 80;
}

.modal-backdrop,
.offcanvas-backdrop {
  z-index: 70;
}

.offcanvas {
  z-index: 80;
}

#draftPreviewModal {
  z-index: 80;
}

.modal-backdrop {
  z-index: 70;
}

#draftPreviewModal .modal-dialog {
  max-width: min(980px, calc(100vw - 32px));
}

.draft-preview-modal .modal-body {
  display: grid;
  grid-template-columns: minmax(220px, 42%) minmax(0, 1fr);
  gap: 20px;
  padding: 20px;
}

.draft-preview-image {
  min-height: 260px;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(123, 2, 2, 0.08);
}

.draft-preview-image img {
  width: 100%;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
  border-radius: 0;
}

.draft-preview-content {
  min-width: 0;
}

.draft-preview-content .manage-event-status {
  position: static;
  display: inline-flex;
  width: max-content;
}

.draft-preview-content h3 {
  margin: 14px 0;
  color: var(--text-color);
  font-size: 24px;
  font-weight: 620;
  overflow-wrap: anywhere;
}

.draft-preview-content dl {
  display: grid;
  gap: 10px;
  margin: 0 0 18px;
}

.draft-preview-content dl div {
  display: grid;
  grid-template-columns: minmax(90px, 130px) minmax(0, 1fr);
  gap: 12px;
}

.draft-preview-content dt {
  color: var(--body-text-color);
  font-size: 13px;
}

.draft-preview-content dd {
  margin: 0;
  color: var(--text-color);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.draft-preview-content h4 {
  margin: 0 0 8px;
  color: var(--text-color);
  font-size: 16px;
  font-weight: 650;
}

.draft-preview-content p {
  margin: 0;
  color: var(--body-text-color, #555);
  overflow-wrap: anywhere;
}

.manage-event-body {
  padding: 18px;
  min-width: 0;
}

.manage-event-body h2 {
  margin: 0;
  font-size: 22px;
  color: var(--text-color, #1f1f1f);
  overflow-wrap: anywhere;
}

.manage-event-meta {
  display: grid;
  gap: 8px;
  margin: 14px 0;
  color: var(--body-text-color);
  min-width: 0;
}

.manage-event-meta span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.manage-event-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}

.manage-event-metrics div {
  border-radius: 16px;
  padding: 12px;
  background: rgba(123, 2, 2, 0.06);
}

.manage-event-metrics span {
  display: block;
  color: var(--body-text-color);
  font-size: 11px;
  text-transform: uppercase;
}

.manage-event-metrics strong {
  display: block;
  margin-top: 4px;
  color: var(--text-color);
  font-size: 18px;
}

.manage-event-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.manage-event-action-dropdown {
  display: inline-flex;
  max-width: 100%;
}

.manage-event-actions a,
.manage-event-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 13px;
  text-decoration: none;
  min-height: 40px;
  max-width: 100%;
  text-align: center;
  white-space: normal;
}

.manage-event-actions .primary {
  background: #7b0202;
  color: #fff;
}

.manage-event-actions .secondary {
  background: rgba(123, 2, 2, 0.08);
  color: #7b0202;
}

.manage-event-actions .danger {
  background: rgba(181, 16, 16, 0.1);
  color: #b51010;
}

.manage-event-action-dropdown .dropdown-menu {
  border: 1px solid rgba(123, 2, 2, 0.12);
  border-radius: 14px;
  box-shadow: 0 16px 34px rgba(29, 15, 15, 0.12);
  padding: 8px;
}

.manage-event-action-dropdown .dropdown-item {
  justify-content: flex-start;
  border-radius: 10px;
  color: #7b0202;
  font-size: 13px;
}

.manage-event-action-dropdown .dropdown-item:hover,
.manage-event-action-dropdown .dropdown-item:focus {
  background: rgba(123, 2, 2, 0.08);
  color: #7b0202;
}

.manage-event-kicker {
  color: var(--body-text-color);
  font-size: 13px;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.manage-edit-shell {
  display: grid;
  grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  min-width: 0;
}

.manage-edit-panel {
  background: var(--bs-body-bg);
  border: 1px solid rgba(123, 2, 2, 0.12);
  border-radius: 22px;
  padding: 20px;
  box-shadow: 0 16px 38px rgba(29, 15, 15, 0.07);
  min-width: 0;
}

.manage-edit-preview {
  position: sticky;
  top: 92px;
}

.manage-edit-preview img {
  width: 100%;
  aspect-ratio: 16 / 11;
  object-fit: cover;
  border-radius: 18px;
  background: rgba(123, 2, 2, 0.08);
}

.manage-image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 14px;
  min-width: 0;
}

.manage-image-field {
  border: 1px dashed rgba(123, 2, 2, 0.22);
  border-radius: 18px;
  padding: 12px;
  background: rgba(123, 2, 2, 0.035);
}

.manage-image-field img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 12px;
  margin-bottom: 10px;
}

.manage-duration-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.event-transfer-box {
  display: flex;
  gap: 10px;
  align-items: stretch;
  justify-content: space-between;
  min-height: 44px;
  border: 1px solid rgba(123, 2, 2, 0.16);
  border-radius: 16px;
  padding: 8px;
  background: rgba(123, 2, 2, 0.035);
  min-width: 0;
}

.event-transfer-current {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.event-transfer-current strong,
.event-transfer-current span,
.event-transfer-current small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-transfer-current strong {
  color: var(--text-color);
  font-size: 14px;
}

.event-transfer-current span {
  color: var(--body-text-color);
  font-size: 12px;
}

.event-transfer-current small {
  color: #15803d;
  font-size: 11px;
  text-transform: uppercase;
}

.event-transfer-box .secondary {
  flex: 0 0 auto;
  border: 0;
  border-radius: 999px;
  padding: 0 14px;
  background: rgba(123, 2, 2, 0.08);
  color: #7b0202;
  font-size: 13px;
  min-height: 38px;
}

.event-transfer-modal .modal-header {
  align-items: flex-start;
}

.event-transfer-modal .modal-header p,
.event-transfer-hint {
  color: var(--body-text-color);
  font-size: 13px;
}

.event-transfer-results {
  display: grid;
  gap: 8px;
  margin-top: 12px;
  max-height: 340px;
  overflow: auto;
}

.event-transfer-result {
  display: grid;
  gap: 2px;
  width: 100%;
  border: 1px solid rgba(123, 2, 2, 0.12);
  border-radius: 14px;
  padding: 12px;
  background: #fff;
  color: var(--text-color);
  text-align: left;
}

.event-transfer-result:hover {
  border-color: rgba(123, 2, 2, 0.32);
  background: rgba(123, 2, 2, 0.045);
}

.event-transfer-result strong {
  font-size: 14px;
}

.event-transfer-result span,
.event-transfer-result small {
  color: var(--body-text-color);
  font-size: 12px;
}

.manage-events-empty {
  padding: 38px;
  text-align: center;
  color: var(--body-text-color);
}

.admin-users-list {
  display: grid;
  gap: 16px;
}

.admin-user-card {
  padding: 18px;
}

.admin-user-card-main {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  min-width: 0;
}

.admin-user-avatar {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(123, 2, 2, 0.1);
  color: #7b0202;
  font-size: 20px;
  font-weight: 520;
  flex: 0 0 auto;
}

.admin-user-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.admin-user-avatar--large {
  width: 108px;
  height: 108px;
  border-radius: 28px;
  font-size: 34px;
  margin-bottom: 16px;
}

.admin-user-summary {
  min-width: 0;
}

.admin-user-summary h2,
.admin-user-profile-panel h2,
.admin-user-edit-panel h2,
.admin-user-panels h2 {
  color: var(--text-color, #1f1f1f);
  overflow-wrap: anywhere;
}

.admin-user-summary h2 {
  margin: 0;
  font-size: 22px;
}

.admin-user-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 8px 12px;
  background: rgba(21, 128, 61, 0.1);
  color: #15803d;
  font-size: 12px;
  font-weight: 750;
  white-space: nowrap;
}

.admin-user-status--deactivated {
  background: rgba(217, 119, 6, 0.12);
  color: #b45309;
}

.admin-user-status--deleted {
  background: rgba(181, 16, 16, 0.1);
  color: #b51010;
}

.admin-user-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-user-actions {
  margin-top: 16px;
}

.admin-user-actions form {
  margin: 0;
  display: inline-flex;
}

.admin-user-actions .kyc-request-form {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
}

.admin-manage-promote-form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 0;
}

.admin-manage-promote-form select,
.admin-user-actions select {
  min-height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(123, 2, 2, 0.16);
  padding: 0 14px;
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
}

.admin-manage-promote-form select {
  flex: 1 1 320px;
}

.admin-user-actions form {
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.sr-docs-toolbar {
  align-items: center;
}

.sr-docs-toolbar__text {
  display: grid;
  gap: 4px;
  color: var(--bs-body-color);
}

.sr-docs-toolbar__text span {
  color: var(--body-text-color);
  font-size: 13px;
}

.sr-docs-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.sr-doc-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 22px;
  border: 1px solid rgba(123, 2, 2, 0.12);
  border-radius: 22px;
  background: var(--bs-body-bg);
  box-shadow: 0 16px 38px rgba(29, 15, 15, 0.07);
}

.sr-doc-card__icon {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  color: #fff;
  font-size: 20px;
  margin-bottom: 16px;
}

.sr-doc-card--blue .sr-doc-card__icon,
.sr-doc-badge--blue {
  background: #7a4b2a;
}

.sr-doc-card--red .sr-doc-card__icon,
.sr-doc-badge--red {
  background: #7b0202;
}

.sr-doc-card--green .sr-doc-card__icon,
.sr-doc-badge--green {
  background: #059669;
}

.sr-doc-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.sr-doc-card__eyebrow {
  color: var(--body-text-color);
  font-size: 12px;
  font-weight: 520;
  text-transform: uppercase;
}

.sr-doc-card h2 {
  color: var(--bs-body-color);
  font-size: 18px;
  font-weight: 520;
  margin: 8px 0;
}

.sr-doc-card p {
  color: var(--body-text-color);
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 16px;
}

.sr-doc-card__meta {
  display: grid;
  gap: 10px;
  margin: auto 0 0;
}

.sr-doc-card__meta div {
  border-top: 1px solid rgba(123, 2, 2, 0.1);
  padding-top: 10px;
}

.sr-doc-card__meta dt {
  color: var(--body-text-color);
  font-size: 12px;
  font-weight: 520;
}

.sr-doc-card__meta dd {
  color: var(--bs-body-color);
  font-size: 13px;
  margin: 2px 0 0;
}

.sr-doc-card__actions {
  margin-top: 18px;
}

.sr-doc-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  font-weight: 520;
  padding: 6px 10px;
}

.admin-user-detail-shell {
  display: grid;
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.admin-user-profile-panel {
  position: sticky;
  top: 92px;
}

.admin-user-profile-panel p {
  color: var(--body-text-color);
  margin-bottom: 18px;
}

.admin-user-facts {
  display: grid;
  gap: 10px;
  margin: 0;
}

.admin-user-facts div {
  display: grid;
  gap: 2px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(123, 2, 2, 0.1);
}

.admin-user-facts dt {
  color: var(--body-text-color);
  font-size: 12px;
  font-weight: 700;
}

.admin-user-facts dd {
  margin: 0;
  color: var(--text-color);
  overflow-wrap: anywhere;
}

.admin-users-back {
  display: inline-flex;
  align-items: center;
  color: #7b0202;
  text-decoration: none;
  font-weight: 750;
  margin-bottom: 12px;
}

.admin-user-edit-form .row {
  row-gap: 14px;
}

.admin-user-edit-form .form-control {
  min-height: 44px;
  border-radius: 12px;
}

.admin-user-panels {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 16px;
  margin-top: 18px;
}

.admin-user-table-wrap {
  overflow-x: auto;
}

.admin-user-table {
  margin: 0;
}

.admin-user-table th {
  color: var(--body-text-color);
  font-size: 12px;
  white-space: nowrap;
}

.admin-user-table td {
  color: var(--text-color);
  vertical-align: middle;
  overflow-wrap: anywhere;
}

.kyc-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 750;
  line-height: 1;
  white-space: nowrap;
  background: rgba(107, 114, 128, 0.12);
  color: #4b5563;
}

.kyc-badge--requested,
.kyc-badge--submitted,
.kyc-badge--under_review {
  background: rgba(217, 119, 6, 0.13);
  color: #b45309;
}

.kyc-badge--approved {
  background: rgba(21, 128, 61, 0.13);
  color: #15803d;
}

.kyc-badge--rejected {
  background: rgba(181, 16, 16, 0.12);
  color: #b51010;
}

.kyc-badge--more_info {
  background: rgba(79, 70, 229, 0.12);
  color: #4f46e5;
}

.kyc-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.kyc-section-head h2 {
  margin: 0;
}

.kyc-review-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 22px;
  align-items: start;
}

.kyc-review-main,
.kyc-review-side {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.kyc-review-side {
  position: sticky;
  top: 92px;
}

.kyc-doc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 16px;
}

.kyc-doc-card {
  border: 1px solid rgba(123, 2, 2, 0.12);
  border-radius: 18px;
  padding: 14px;
  background: rgba(123, 2, 2, 0.03);
  min-width: 0;
}

.kyc-doc-card h3 {
  color: var(--text-color);
  font-size: 15px;
  margin: 0 0 12px;
}

.kyc-doc-card img,
.kyc-file-tile {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 14px;
  background: #f5f1f1;
}

.kyc-doc-card img {
  display: block;
  object-fit: cover;
}

.kyc-file-tile {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #7b0202;
  font-size: 42px;
  text-decoration: none;
}

.kyc-doc-card p {
  color: var(--body-text-color);
  margin: 0;
}

.kyc-doc-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 12px;
  font-size: 13px;
}

.kyc-doc-meta span {
  color: var(--body-text-color);
}

.kyc-doc-meta a,
.kyc-side-link {
  color: #7b0202;
  font-weight: 750;
  text-decoration: none;
}

.kyc-action-panel .form-control,
.kyc-form .form-control {
  min-height: 44px;
  border-radius: 12px;
}

.kyc-action-panel textarea.form-control,
.kyc-form textarea.form-control {
  min-height: 96px;
}

.kyc-side-options {
  width: 100%;
  max-width: 100%;
  border: 1px solid rgba(123, 2, 2, 0.12);
  border-radius: 12px;
  padding: 12px;
  background: rgba(123, 2, 2, 0.035);
  color: var(--body-text-color);
}

.kyc-side-options strong {
  color: var(--text-color);
}

.kyc-side-options .form-check {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  min-height: 0;
  padding-left: 0;
}

.kyc-side-options .form-check-input {
  flex: 0 0 auto;
  margin-left: 0;
  margin-top: 3px;
}

.kyc-side-options .form-check-label {
  line-height: 1.35;
}

.badge-ads {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 750;
  line-height: 1;
  white-space: nowrap;
  background: rgba(107, 114, 128, 0.14);
  color: #4b5563;
}

.badge-ads--active {
  background: rgba(21, 128, 61, 0.13);
  color: #15803d;
}

.badge-ads--paused,
.badge-ads--awaiting_start {
  background: rgba(217, 119, 6, 0.13);
  color: #b45309;
}

.badge-ads--stopped {
  background: rgba(181, 16, 16, 0.12);
  color: #b51010;
}

.badge-ads--completed {
  background: rgba(79, 70, 229, 0.12);
  color: #4f46e5;
}

.ads-check-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  gap: 8px 14px;
}

.ads-package-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 18px;
}

.ads-package-card {
  border: 1px solid rgba(123, 2, 2, 0.12);
  border-radius: 8px;
  padding: 18px;
  background: var(--bg-color);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ads-package-price {
  font-size: 20px;
  font-weight: 520;
  color: var(--text-color);
}

.ads-package-price small,
.ads-package-duration,
.ads-package-card p {
  font-size: 13px;
  color: var(--body-text-color);
}

.ads-package-card ul {
  margin: 0;
  padding-left: 18px;
}

.ads-search-results {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}

.ads-search-result {
  width: 100%;
  border: 1px solid rgba(123, 2, 2, 0.12);
  border-radius: 8px;
  background: var(--bg-color);
  color: var(--text-color);
  padding: 10px 12px;
  text-align: left;
}

.ads-search-result strong,
.ads-search-result small {
  display: block;
}

.ads-search-result small {
  margin-top: 3px;
  color: var(--body-text-color);
  font-size: 12px;
}

.ads-search-result:hover,
.ads-search-result:focus {
  border-color: rgba(123, 2, 2, 0.38);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.06);
}

.sr-promote-block {
  margin-top: 12px;
}

.sr-promote-block .btn {
  width: 100%;
  text-align: center;
}

.event-submitted-promote {
  padding: 16px;
  background: rgba(123, 2, 2, 0.04);
  border: 1px solid rgba(123, 2, 2, 0.12);
  border-radius: 8px;
  text-align: center;
  margin-top: 16px;
}

.kyc-action-panel .danger {
  min-height: 40px;
  border: 0;
  border-radius: 999px;
  background: #b51010;
  color: #fff;
  font-weight: 750;
}

.kyc-audit-list {
  display: grid;
  gap: 10px;
}

.kyc-audit-entry {
  border-left: 3px solid rgba(123, 2, 2, 0.38);
  padding: 4px 0 4px 12px;
}

.kyc-audit-entry strong,
.kyc-audit-entry span {
  display: block;
}

.kyc-audit-entry strong {
  color: var(--text-color);
}

.kyc-audit-entry span,
.kyc-audit-entry p {
  color: var(--body-text-color);
}

.kyc-audit-entry p {
  margin: 6px 0 0;
}

.kyc-inline-facts {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.kyc-page {
  padding-bottom: 46px;
}

.kyc-hero {
  background: linear-gradient(135deg, rgba(123, 2, 2, 0.14), rgba(20, 20, 20, 0.04));
  border: 1px solid rgba(123, 2, 2, 0.14);
  border-radius: 28px;
  padding: 28px;
  margin: 28px 0;
}

.kyc-hero span {
  color: #7b0202;
  display: inline-block;
  font-weight: 520;
  margin-bottom: 8px;
}

.kyc-hero h1 {
  color: var(--text-color);
  margin: 0;
}

.kyc-hero p {
  color: var(--body-text-color);
  max-width: 720px;
  margin: 10px 0 0;
}

.kyc-state,
.kyc-form,
.kyc-notice {
  background: var(--bs-body-bg);
  border: 1px solid rgba(123, 2, 2, 0.12);
  border-radius: 22px;
  box-shadow: 0 16px 38px rgba(29, 15, 15, 0.07);
  padding: 22px;
  margin-bottom: 18px;
}

.kyc-state {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.kyc-form-grid {
  display: grid;
  gap: 18px;
}

.kyc-step {
  border: 1px solid rgba(123, 2, 2, 0.12);
  border-radius: 18px;
  padding: 16px;
  background: rgba(123, 2, 2, 0.03);
}

.kyc-step h2 {
  color: var(--text-color);
  font-size: 18px;
  margin-bottom: 6px;
}

.kyc-step p,
.kyc-step small {
  color: var(--body-text-color);
}

.kyc-state i {
  color: #7b0202;
  font-size: 30px;
}

.kyc-state p,
.kyc-notice p {
  color: var(--body-text-color);
  margin: 0;
}

.kyc-notice strong {
  display: block;
  color: var(--text-color);
  margin-bottom: 8px;
}

.kyc-notice--rejected {
  border-color: rgba(181, 16, 16, 0.2);
}

.kyc-notice--more-info {
  border-color: rgba(79, 70, 229, 0.2);
}

.kyc-camera,
.kyc-camera-container,
.kyc-preview-container {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.kyc-camera-container video,
.kyc-preview-container img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 16px;
  background: #111;
}

.kyc-preview-container span {
  color: #15803d;
  font-weight: 750;
}

.kyc-camera-frame {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  background: #111;
  aspect-ratio: 16 / 10;
}

.kyc-camera-frame video,
.kyc-camera-frame canvas,
.kyc-camera-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kyc-camera-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.kyc-camera-status {
  margin: 0;
  border: 1px dashed rgba(123, 2, 2, 0.22);
  border-radius: 14px;
  padding: 12px 14px;
  background: rgba(123, 2, 2, 0.05);
  color: var(--text-color);
  font-weight: 650;
}

.kyc-camera-actions button:disabled {
  cursor: not-allowed;
  opacity: .68;
}

.kyc-upload-field {
  border: 1px dashed rgba(123, 2, 2, 0.26);
  border-radius: 16px;
  padding: 14px;
  margin-top: 12px;
  background: rgba(255, 255, 255, 0.72);
}

.kyc-upload-field input {
  width: 100%;
}

.kyc-error {
  color: #b51010;
  font-weight: 750;
}

.night-mode .kyc-doc-card,
.night-mode .kyc-step,
.night-mode .kyc-upload-field {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.08);
}

.night-mode .kyc-file-tile,
.night-mode .kyc-doc-card img,
.night-mode .kyc-camera-frame,
.night-mode .kyc-camera-status {
  background: rgba(255, 255, 255, 0.06);
}

.night-mode .kyc-state,
.night-mode .kyc-form,
.night-mode .kyc-notice,
.night-mode .kyc-hero {
  background: #1d1b1b;
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

.night-mode .manage-events-hero,
.night-mode .manage-events-toolbar,
.night-mode .manage-events-stats,
.night-mode .manage-event-card,
.night-mode .manage-events-empty,
.night-mode .manage-edit-panel {
  background: #1d1b1b;
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

.night-mode .manage-events-stat,
.night-mode .manage-event-metrics div,
.night-mode .manage-image-field,
.night-mode .event-transfer-box,
.night-mode .admin-user-avatar {
  background: rgba(255, 255, 255, 0.06);
}

.night-mode .bulk-import-dropzone {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.04);
}

.night-mode .bulk-import-dropzone i {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.night-mode .bulk-import-dropzone:hover,
.night-mode .bulk-import-dropzone:focus-within,
.night-mode .bulk-import-dropzone.is-dragover {
  border-color: rgba(255, 255, 255, 0.38);
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.06);
}

.night-mode .admin-user-facts div {
  border-color: rgba(255, 255, 255, 0.08);
}

.night-mode .event-transfer-result {
  background: #1d1b1b;
  border-color: rgba(255, 255, 255, 0.08);
}

@media (max-width: 991px) {
  .manage-events-hero {
    border-radius: 22px;
    margin: 18px 0;
    padding: 22px;
  }

  .manage-events-toolbar {
    align-items: stretch;
  }

  .manage-events-toolbar form,
  .manage-events-toolbar .manage-event-actions {
    flex: 1 1 100%;
  }

  .manage-event-card--list,
  .manage-edit-shell,
  .draft-preview-modal .modal-body,
  .admin-user-detail-shell {
    grid-template-columns: 1fr;
  }

  .manage-event-cover {
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 8;
  }

  .manage-edit-preview {
    position: static;
  }

  .admin-user-profile-panel {
    position: static;
  }

  .sr-docs-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .wrapper-body .dashboard-body > .container-fluid {
    padding-left: 12px;
    padding-right: 12px;
  }

  .manage-events-hero {
    border-radius: 18px;
    padding: 18px;
  }

  .manage-events-hero h1 {
    font-size: 26px;
  }

  .manage-events-toolbar,
  .manage-events-stats,
  .manage-edit-panel,
  .manage-events-empty {
    border-radius: 16px;
  }

  .manage-events-toolbar {
    padding: 12px;
  }

  .manage-events-toolbar form {
    display: grid;
    grid-template-columns: 1fr;
  }

  .manage-events-toolbar input,
  .manage-events-toolbar select,
  .manage-events-toolbar .main-btn,
  .manage-events-toolbar .co-main-btn {
    width: 100%;
  }

  .bulk-import-dropzone {
    min-height: 88px;
    align-items: flex-start;
  }

  .manage-events-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 12px;
  }

  .manage-events-stat {
    border-radius: 14px;
    padding: 12px;
  }

  .manage-events-stat strong {
    font-size: 22px;
  }

  .manage-events-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .manage-event-cover {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .manage-event-body {
    padding: 14px;
  }

  .manage-event-body h2 {
    font-size: 18px;
  }

  .manage-event-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .admin-user-card {
    padding: 14px;
  }

  .admin-user-card-main {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .admin-user-status {
    grid-column: 1 / -1;
    width: max-content;
  }

  .admin-user-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .manage-event-metrics div {
    border-radius: 12px;
    padding: 10px 8px;
  }

  .manage-event-metrics strong {
    font-size: 16px;
  }

  .manage-event-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .manage-event-actions a,
  .manage-event-actions button {
    width: 100%;
    min-width: 0;
    padding: 10px;
    white-space: normal;
  }

  .manage-event-action-dropdown {
    width: 100%;
  }

  .manage-event-action-dropdown .dropdown-menu {
    width: 100%;
  }

  .manage-edit-panel {
    padding: 14px;
  }

  .manage-image-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .event-transfer-box {
    align-items: stretch;
    flex-direction: column;
  }

  .event-transfer-box .secondary {
    width: 100%;
    padding: 10px 14px;
  }

  .event-transfer-modal .modal-dialog {
    margin: 12px;
  }

  .draft-preview-content dl div {
    grid-template-columns: 1fr;
    gap: 2px;
  }
}

@media (max-width: 480px) {
  .wrapper-body .dashboard-body > .container-fluid {
    padding-left: 10px;
    padding-right: 10px;
  }

  .manage-events-hero {
    margin: 12px 0;
    padding: 16px;
  }

  .manage-events-hero h1 {
    font-size: 23px;
  }

  .manage-events-hero p,
  .manage-event-meta {
    font-size: 13px;
  }

  .manage-events-stats,
  .manage-event-metrics,
  .manage-image-grid,
  .manage-duration-grid {
    grid-template-columns: 1fr;
  }

  .manage-event-actions {
    grid-template-columns: 1fr;
  }

  .manage-event-cover {
    aspect-ratio: 4 / 3;
  }

  .manage-event-status {
    left: 12px;
    top: 12px;
    max-width: calc(100% - 24px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .manage-events-empty {
    padding: 24px 16px;
  }

  .event-transfer-results {
    max-height: 55vh;
  }
}

/* Analytics */

        body {
            background: var(--ea-bg);
        }

        .ea-page {
            padding-bottom: 40px;
        }

        .ea-hero {
            position: relative;
            overflow: hidden;
            border-radius: 24px;
            background: radial-gradient(circle at top right, rgba(79, 70, 229, .24), transparent 36%),
                linear-gradient(135deg, #271111 0%, #371F1F 55%, #812E2E 100%);
            color: #fff;
            padding: 28px;
            margin-bottom: 22px;
            box-shadow: var(--ea-shadow);
        }

        .ea-hero::after {
            content: "";
            position: absolute;
            inset: auto -80px -120px auto;
            width: 280px;
            height: 280px;
            border-radius: 50%;
            background: rgba(255, 255, 255, .08);
            pointer-events: none;
        }

        .ea-hero__content {
            position: relative;
            z-index: 1;
            display: flex;
            justify-content: space-between;
            gap: 22px;
            align-items: flex-start;
            flex-wrap: wrap;
        }

        .ea-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 7px 11px;
            border-radius: 999px;
            background: rgba(255, 255, 255, .11);
            border: 1px solid rgba(255, 255, 255, .16);
            color: rgba(255, 255, 255, .88);
            font-size: 12px;
            font-weight: 700;
            letter-spacing: .03em;
            text-transform: uppercase;
            margin-bottom: 14px;
        }

        .ea-title {
            color: #fff;
            margin: 0;
            font-size: clamp(26px, 4vw, 38px);
            letter-spacing: -.04em;
        }

        .ea-subtitle {
            max-width: 680px;
            color: rgba(255, 255, 255, .72);
            margin: 10px 0 0;
            font-size: 15px;
            line-height: 1.65;
        }

        .ea-date-pill {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            background: rgba(255, 255, 255, .12);
            border: 1px solid rgba(255, 255, 255, .18);
            color: #fff;
            border-radius: 999px;
            padding: 10px 14px;
            font-weight: 700;
            white-space: nowrap;
            backdrop-filter: blur(10px);
        }

        .ea-subtitle + .ea-date-pill {
            margin-top: 12px;
        }

        .ea-hero-actions {
            display: flex;
            gap: 10px;
            align-items: center;
            justify-content: flex-end;
            flex-wrap: wrap;
        }

        .ea-hero-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-height: 40px;
            padding: 9px 13px;
            border-radius: 999px;
            color: #fff;
            background: rgba(255, 255, 255, .12);
            border: 1px solid rgba(255, 255, 255, .18);
            text-decoration: none;
            backdrop-filter: blur(10px);
            transition: all .16s ease;
            white-space: nowrap;
        }

        .ea-hero-btn:hover {
            color: #111827;
            background: #fff;
            text-decoration: none;
        }

        .ea-toolbar {
            display: grid;
            grid-template-columns: max-content minmax(0, 1fr);
            gap: 16px;
            align-items: start;
            margin-bottom: 22px;
        }

        .ea-tabs {
            display: inline-flex;
            gap: 8px;
            flex-wrap: nowrap;
            max-width: 100%;
            overflow-x: auto;
            padding: 6px;
            border-radius: 999px;
            background: #fff;
            border: 1px solid var(--ea-border);
            box-shadow: 0 10px 26px rgba(17, 24, 39, .04);
            scrollbar-width: thin;
        }

        .ea-tab {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 38px;
            padding: 8px 15px;
            border-radius: 999px;
            color: var(--ea-muted);
            font-weight: 750;
            text-decoration: none;
            transition: all .18s ease;
        }

        .ea-tab:hover {
            color: var(--ea-text);
            background: #f3f4f6;
            text-decoration: none;
        }

        .ea-tab.is-active {
            color: #fff;
            background: var(--ea-primary);
            box-shadow: 0 8px 20px rgba(79, 70, 229, .26);
        }

        .ea-filter-card {
            background: #fff;
            border: 1px solid var(--ea-border);
            border-radius: var(--ea-radius);
            padding: 14px;
            box-shadow: 0 10px 26px rgba(17, 24, 39, .04);
            width: 100%;
            min-width: 0;
        }

        .ea-filter {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
            gap: 10px;
            align-items: end;
            margin: 0;
        }

        .ea-field label {
            display: block;
            margin-bottom: 6px;
            color: var(--ea-muted);
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: .035em;
        }

        .ea-filter .form-control {
            min-height: 42px;
            border-radius: 12px;
            border-color: var(--ea-border);
            color: var(--ea-text);
            font-weight: 650;
            box-shadow: none;
        }

        .ea-filter .form-control:focus {
            border-color: rgba(79, 70, 229, .55);
            box-shadow: 0 0 0 .2rem rgba(79, 70, 229, .12);
        }

        .ea-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-height: 42px;
            border: 0;
            border-radius: 12px;
            padding: 0 16px;
            color: #fff;
            background: var(--ea-primary);
            box-shadow: 0 10px 22px rgba(79, 70, 229, .25);
            transition: transform .18s ease, box-shadow .18s ease;
        }

        .ea-btn:hover {
            transform: translateY(-1px);
            box-shadow: 0 14px 28px rgba(79, 70, 229, .32);
        }

        .ea-pagination {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            padding: 16px 20px;
            border-top: 1px solid var(--ea-border);
            background: #fbfbfd;
        }

        .ea-pagination__status {
            color: var(--ea-muted);
            font-size: 13px;
            font-weight: 750;
        }

        .ea-pagination__buttons {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-wrap: wrap;
        }

        .ea-page-btn,
        .ea-page-indicator {
            display: inline-flex;
            min-height: 36px;
            align-items: center;
            justify-content: center;
            gap: 7px;
            border-radius: 999px;
            padding: 7px 12px;
            font-size: 13px;
            text-decoration: none;
            white-space: nowrap;
        }

        .ea-page-btn {
            color: var(--ea-primary);
            background: var(--ea-primary-soft);
        }

        .ea-page-btn:hover {
            color: #fff;
            background: var(--ea-primary);
            text-decoration: none;
        }

        .ea-page-btn.is-disabled {
            pointer-events: none;
            opacity: .42;
        }

        .ea-page-indicator {
            color: var(--ea-text);
            background: #fff;
            border: 1px solid var(--ea-border);
        }

        .ea-grid {
            display: grid;
            grid-template-columns: repeat(5, minmax(0, 1fr));
            gap: 16px;
            margin-bottom: 22px;
        }

        .ea-grid--detail {
            grid-template-columns: repeat(6, minmax(0, 1fr));
        }

        .ea-grid--auto {
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        }

        .ea-card {
            position: relative;
            overflow: hidden;
            background: var(--ea-card);
            border: 1px solid var(--ea-soft-border);
            border-radius: var(--ea-radius);
            padding: 18px;
            min-height: 154px;
            box-shadow: 0 12px 30px rgba(17, 24, 39, .045);
            transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
        }

        .ea-card:hover {
            transform: translateY(-3px);
            box-shadow: var(--ea-shadow);
            border-color: rgba(79, 70, 229, .18);
        }

        .ea-card__top {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 18px;
        }

        .ea-card__label {
            display: block;
            color: var(--ea-muted);
            font-size: 13px;
            line-height: 1.35;
        }

        .ea-card__icon {
            display: inline-flex;
            width: 42px;
            height: 42px;
            align-items: center;
            justify-content: center;
            border-radius: 14px;
            flex: 0 0 auto;
            font-size: 16px;
        }

        .ea-tone-primary .ea-card__icon {
            color: var(--ea-primary);
            background: var(--ea-primary-soft);
        }

        .ea-tone-info .ea-card__icon {
            color: var(--ea-info);
            background: var(--ea-info-soft);
        }

        .ea-tone-warning .ea-card__icon {
            color: var(--ea-warning);
            background: var(--ea-warning-soft);
        }

        .ea-tone-success .ea-card__icon {
            color: var(--ea-success);
            background: var(--ea-success-soft);
        }

        .ea-tone-dark .ea-card__icon {
            color: var(--ea-text);
            background: var(--ea-dark-soft);
        }

        .ea-card__value {
            display: block;
            color: var(--ea-text);
            font-size: clamp(24px, 2.4vw, 34px);
            line-height: 1;
            letter-spacing: -.045em;
        }

        .ea-card__meta {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            margin-top: 12px;
            padding: 6px 9px;
            border-radius: 999px;
            background: #f9fafb;
            color: var(--ea-muted);
            font-size: 12px;
        }

        .ea-panel {
            background: var(--ea-card);
            border: 1px solid var(--ea-soft-border);
            border-radius: 22px;
            box-shadow: var(--ea-shadow);
            overflow: hidden;
        }

        .ea-panel + .ea-panel {
            margin-top: 20px;
        }

        .ea-layout {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 320px;
            gap: 18px;
            align-items: start;
        }

        .ea-panel__header {
            display: flex;
            justify-content: space-between;
            gap: 16px;
            align-items: center;
            padding: 20px 22px;
            border-bottom: 1px solid var(--ea-border);
            background: linear-gradient(180deg, #ffffff 0%, #fbfbfd 100%);
        }

        .ea-panel__title {
            margin: 0;
            color: var(--ea-text);
            font-size: 18px;
            letter-spacing: -.02em;
        }

        .ea-panel__subtitle {
            margin: 5px 0 0;
            color: var(--ea-muted);
            font-size: 13px;
        }

        .ea-count-badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 32px;
            padding: 6px 11px;
            border-radius: 999px;
            background: #f3f4f6;
            color: var(--ea-text);
            font-size: 12px;
            white-space: nowrap;
        }

        .ea-chart-wrap {
            position: relative;
            min-height: 390px;
            padding: 22px;
        }

        .ea-chart-wrap canvas {
            min-height: 340px;
        }

        .ea-insights {
            display: grid;
            gap: 14px;
        }

        .ea-insight-card {
            background: var(--ea-card);
            border: 1px solid var(--ea-soft-border);
            border-radius: 20px;
            padding: 18px;
            box-shadow: 0 12px 30px rgba(17, 24, 39, .045);
        }

        .ea-insight-card span {
            display: block;
            color: var(--ea-muted);
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: .045em;
            margin-bottom: 8px;
        }

        .ea-insight-card strong {
            display: block;
            color: var(--ea-text);
            font-size: 26px;
            letter-spacing: -.04em;
        }

        .ea-action-links {
            display: flex;
            gap: 10px;
            align-items: center;
            flex-wrap: wrap;
            margin-top: 12px;
        }

        .ea-table {
            margin: 0;
            color: var(--ea-text);
        }

        .ea-table thead th {
            padding: 14px 20px;
            border-bottom: 1px solid var(--ea-border);
            background: #f9fafb;
            color: var(--ea-muted);
            font-size: 11px;
            letter-spacing: .055em;
            text-transform: uppercase;
            white-space: nowrap;
        }

        .ea-table tbody td {
            padding: 18px 20px;
            border-bottom: 1px solid #f1f2f4;
            vertical-align: middle;
        }

        .ea-table tbody tr:last-child td {
            border-bottom: 0;
        }

        .ea-table tbody tr {
            transition: background .16s ease;
        }

        .ea-table tbody tr:hover {
            background: #fbfbff;
        }

        .ea-event-name {
            color: var(--ea-text);
            letter-spacing: -.015em;
        }

        .ea-event-organiser {
            color: var(--ea-muted);
            font-size: 13px;
            margin-top: 4px;
        }

        .ea-metric {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 78px;
            min-height: 34px;
            padding: 6px 10px;
            border-radius: 999px;
            background: #f9fafb;
            color: var(--ea-text);
        }

        .ea-link-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-height: 36px;
            padding: 7px 12px;
            border-radius: 999px;
            background: var(--ea-primary-soft);
            color: var(--ea-primary);
            text-decoration: none;
            white-space: nowrap;
            transition: all .16s ease;
        }

        .ea-link-btn:hover {
            color: #fff;
            background: var(--ea-primary);
            text-decoration: none;
        }

        .ea-empty {
            padding: 48px 20px;
            text-align: center;
        }

        .ea-empty__icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 58px;
            height: 58px;
            border-radius: 20px;
            background: var(--ea-primary-soft);
            color: var(--ea-primary);
            font-size: 22px;
            margin-bottom: 16px;
        }

        .ea-empty h5 {
            color: var(--ea-text);
            margin-bottom: 8px;
        }

        .ea-empty p {
            color: var(--ea-muted);
            max-width: 420px;
            margin: 0 auto;
            line-height: 1.6;
        }

        .night-mode .ea-filter-card,
        .night-mode .ea-card,
        .night-mode .ea-panel,
        .night-mode .ea-tabs,
        .night-mode .ea-insight-card {
            background: #1f2937;
            border-color: rgba(255, 255, 255, .08);
        }

        .night-mode .ea-card__value,
        .night-mode .ea-panel__title,
        .night-mode .ea-event-name,
        .night-mode .ea-metric,
        .night-mode .ea-count-badge,
        .night-mode .ea-insight-card strong {
            color: #f9fafb;
        }

        .night-mode .ea-card__label,
        .night-mode .ea-panel__subtitle,
        .night-mode .ea-event-organiser,
        .night-mode .ea-field label,
        .night-mode .ea-insight-card span {
            color: #9ca3af;
        }

        .night-mode .ea-panel__header,
        .night-mode .ea-table thead th,
        .night-mode .ea-card__meta,
        .night-mode .ea-metric,
        .night-mode .ea-count-badge,
        .night-mode .ea-pagination,
        .night-mode .ea-page-indicator {
            background: rgba(255, 255, 255, .04);
        }

        .night-mode .ea-table tbody td,
        .night-mode .ea-panel__header,
        .night-mode .ea-table thead th,
        .night-mode .ea-pagination,
        .night-mode .ea-page-indicator {
            border-color: rgba(255, 255, 255, .07);
        }

        .night-mode .ea-page-indicator {
            color: #f9fafb;
        }

        .night-mode .ea-table tbody tr:hover {
            background: rgba(255, 255, 255, .03);
        }

        @media (max-width: 1400px) {
            .ea-grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }
        }

        @media (max-width: 1500px) {
            .ea-grid--detail {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }
        }

        @media (max-width: 1199px) {
            .ea-layout {
                grid-template-columns: 1fr;
            }

            .ea-insights {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }
        }

        @media (max-width: 991px) {
            .ea-toolbar {
                grid-template-columns: 1fr;
            }

            .ea-tabs {
                width: 100%;
            }

            .ea-grid,
            .ea-insights {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .ea-hero-actions {
                justify-content: flex-start;
            }
        }

        @media (max-width: 767px) {
            .ea-hero {
                padding: 22px;
                border-radius: 20px;
            }

            .ea-tabs {
                width: 100%;
                border-radius: 16px;
            }

            .ea-tab {
                flex: 1 1 auto;
                border-radius: 12px;
            }

            .ea-hero-actions,
            .ea-hero-btn,
            .ea-date-pill {
                width: 100%;
            }

            .ea-hero-btn,
            .ea-date-pill {
                justify-content: center;
            }

            .ea-filter {
                grid-template-columns: 1fr;
            }

            .ea-btn {
                width: 100%;
            }

            .ea-pagination {
                align-items: flex-start;
                flex-direction: column;
            }

            .ea-grid,
            .ea-insights {
                grid-template-columns: 1fr;
            }

            .ea-panel__header {
                align-items: flex-start;
                flex-direction: column;
            }

            .ea-chart-wrap {
                min-height: 320px;
                padding: 16px;
            }

            .ea-chart-wrap canvas {
                min-height: 280px;
            }

            .ea-table thead {
                display: none;
            }

            .ea-table,
            .ea-table tbody,
            .ea-table tr,
            .ea-table td {
                display: block;
                width: 100%;
            }

            .ea-table tbody tr {
                padding: 16px 18px;
                border-bottom: 1px solid var(--ea-border);
            }

            .ea-table tbody td {
                display: flex;
                justify-content: space-between;
                gap: 16px;
                padding: 8px 0;
                border-bottom: 0;
            }

            .ea-table tbody td::before {
                content: attr(data-label);
                color: var(--ea-muted);
                font-size: 12px;
                text-transform: uppercase;
                letter-spacing: .045em;
            }

            .ea-table tbody td:first-child {
                display: block;
                padding-top: 0;
            }

            .ea-table tbody td:first-child::before {
                display: none;
            }

            .ea-table tbody td:last-child {
                justify-content: flex-start;
                padding-bottom: 0;
            }

            .ea-table tbody td:last-child::before {
                display: none;
            }
        }

        /* Funnel component additions for Event Analytics */
.ea-funnel {
    display: grid;
    gap: 4px;
    padding: 10px 22px 22px;
}

.ea-funnel-step {
    display: grid;
    grid-template-columns: minmax(210px, 280px) 1fr minmax(105px, 140px);
    gap: 18px;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid var(--ea-border);
}

.ea-funnel-step:last-child {
    border-bottom: 0;
}

.ea-funnel-step__label {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.ea-funnel-step__label strong {
    display: block;
    color: var(--ea-text);
    font-size: 14px;
    line-height: 1.3;
}

.ea-funnel-step__label span:not(.ea-funnel-step__icon) {
    display: block;
    color: var(--ea-muted);
    font-size: 12px;
    font-weight: 750;
    margin-top: 3px;
}

.ea-funnel-step__icon {
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 14px;
    color: var(--ea-primary);
    background: var(--ea-primary-soft);
}

.ea-funnel-step__bar {
    position: relative;
    height: 14px;
    overflow: hidden;
    border-radius: 999px;
    background: #f1f5f9;
}

.ea-funnel-step__fill {
    height: 100%;
    width: var(--ea-fill-width, 0%);
    min-width: 4px;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--ea-primary), #7c3aed);
    box-shadow: 0 8px 20px rgba(79, 70, 229, .18);
}

.ea-funnel-step__rate {
    text-align: right;
    white-space: nowrap;
}

.ea-funnel-step__rate strong {
    display: block;
    color: var(--ea-text);
    font-size: 16px;
    line-height: 1.2;
}

.ea-funnel-step__rate span {
    display: block;
    color: var(--ea-muted);
    font-size: 12px;
    margin-top: 3px;
}

.ea-grid--compact {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 22px;
    margin-bottom: 0;
}

.night-mode .ea-funnel-step {
    border-color: rgba(255, 255, 255, .07);
}

.night-mode .ea-funnel-step__label strong,
.night-mode .ea-funnel-step__rate strong {
    color: #f9fafb;
}

.night-mode .ea-funnel-step__label span:not(.ea-funnel-step__icon),
.night-mode .ea-funnel-step__rate span {
    color: #9ca3af;
}

.night-mode .ea-funnel-step__bar {
    background: rgba(255, 255, 255, .08);
}

@media (max-width: 1199px) {
    .ea-grid--compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .ea-funnel {
        padding: 6px 18px 18px;
    }

    .ea-funnel-step {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 18px 0;
    }

    .ea-funnel-step__rate {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        text-align: left;
    }

    .ea-funnel-step__rate span {
        margin-top: 0;
    }

    .ea-grid--compact {
        grid-template-columns: 1fr;
        padding: 18px;
    }
}

/* Event Analytics Report */
.er-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 16px;
}

.er-card {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 8px;
    padding: 18px;
}

.er-card span {
    color: #6b7280;
    font-size: 13px;
}

.er-card strong {
    display: block;
    font-size: 24px;
    margin-top: 6px;
}

.er-panel {
    background: #fff;
    border-radius: 8px;
    padding: 22px;
    margin-top: 22px;
}

.er-image {
    max-height: 72px;
    width: auto;
    border-radius: 6px;
}

.night-mode .er-card,
.night-mode .er-panel {
    background: #1f2937;
    border-color: rgba(255, 255, 255, .08);
}

.night-mode .er-card span {
    color: #9ca3af;
}

.night-mode .er-card strong,
.night-mode .er-panel h5,
.night-mode .er-panel p,
.night-mode .er-panel td,
.night-mode .er-panel th {
    color: #f9fafb;
}

/* Event report additions */
.er-page {
    padding-bottom: 40px;
}

.er-report-hero {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 0;
    padding: 0;
    min-height: 280px;
}

.er-report-hero__media {
    position: relative;
    min-height: 280px;
    overflow: hidden;
    background: rgba(255, 255, 255, .08);
}

.er-report-hero__image {
    width: 100%;
    height: 100%;
    min-height: 280px;
    object-fit: cover;
    display: block;
}

.er-report-hero__content {
    padding: 28px;
}

.er-report-meta {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 18px;
}

.er-report-meta__item {
    min-width: 180px;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .18);
    backdrop-filter: blur(10px);
}

.er-report-meta__item span {
    display: block;
    color: rgba(255, 255, 255, .66);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .045em;
    margin-bottom: 5px;
}

.er-report-meta__item strong {
    display: block;
    color: #fff;
    font-size: 14px;
    line-height: 1.35;
}

.er-report-actions {
    align-self: flex-start;
}

.er-report-send {
    border: 0;
    cursor: pointer;
}

.er-report-send:disabled {
    opacity: .68;
    cursor: not-allowed;
}

.er-report-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.er-report-section {
    overflow: hidden;
}

.er-report-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}

.er-report-empty-tight {
    padding-top: 32px;
    padding-bottom: 36px;
}

@media (max-width: 1500px) {
    .er-report-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1199px) {
    .er-report-hero {
        grid-template-columns: 220px 1fr;
    }

    .er-report-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991px) {
    .er-report-hero {
        grid-template-columns: 1fr;
    }

    .er-report-hero__media,
    .er-report-hero__image {
        min-height: 240px;
        max-height: 320px;
    }

    .er-report-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .er-report-hero {
        border-radius: 20px;
    }

    .er-report-hero__content {
        padding: 22px;
    }

    .er-report-meta {
        display: grid;
        grid-template-columns: 1fr;
    }

    .er-report-meta__item {
        min-width: 0;
    }

    .er-report-actions,
    .er-report-actions .ea-hero-btn {
        width: 100%;
    }

    .er-report-grid {
        grid-template-columns: 1fr;
    }
}
.sr-verified-badge {
    display: inline-flex;
    align-items: center;
    color: #0866ff;
    font-size: 0.9em;
    margin-left: 4px;
    vertical-align: middle;
    flex-shrink: 0;
}

.sr-verified-badge[tabindex],
.sr-home-event-card__verified[tabindex] {
    cursor: help;
    outline: 0;
    position: relative;
}

.sr-verified-badge[tabindex]:hover,
.sr-verified-badge[tabindex]:focus,
.sr-verified-badge[tabindex]:focus-visible,
.sr-home-event-card__verified[tabindex]:hover,
.sr-home-event-card__verified[tabindex]:focus,
.sr-home-event-card__verified[tabindex]:focus-visible {
    z-index: 100;
}

.sr-verified-badge[tabindex]::after,
.sr-home-event-card__verified[tabindex]::after {
    content: attr(data-tooltip);
    position: absolute;
    left: 0;
    right: auto;
    bottom: calc(100% + 8px);
    z-index: 100;
    width: min(300px, calc(100vw - 32px));
    padding: 8px 10px;
    border-radius: 6px;
    background: #111827;
    color: #fff;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .18);
    font-size: 12px;
    font-weight: 554;
    line-height: 1.35;
    opacity: 0;
    pointer-events: none;
    text-align: left;
    white-space: normal;
    transform: translateY(4px);
    transition: opacity .16s ease, transform .16s ease;
}

.dropdown-account-header .sr-verified-badge[tabindex]::after,
.dropdown-menu-account .sr-verified-badge[tabindex]::after {
    left: auto;
    right: 0;
    width: 220px;
    max-width: calc(100vw - 32px);
}

.sr-home-event-card__verified[tabindex]::after {
    left: auto;
    right: 0;
    top: calc(100% + 8px);
    bottom: auto;
}

.sr-verified-badge[tabindex]:hover::after,
.sr-verified-badge[tabindex]:focus::after,
.sr-verified-badge[tabindex]:focus-visible::after,
.sr-home-event-card__verified[tabindex]:hover::after,
.sr-home-event-card__verified[tabindex]:focus::after,
.sr-home-event-card__verified[tabindex]:focus-visible::after {
    opacity: 1;
    transform: translateY(0);
}


.sr-verified-badge i {
    font-size: 13px;
}

.event-organiser-line {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #666;
    font-size: 0.82em;
    margin-top: 4px;
    min-height: 18px;
}

.event-organiser-line .sr-verified-badge {
    font-size: 0.9em;
}

.sr-host .sr-verified-badge {
    font-size: 1em;
}


/* ═══════════════════════════════════════════════════════
   ADS PAGES - redesigned
   primary: #b91c1c  accent-grey: #6b7280
   ═══════════════════════════════════════════════════════ */

/* ── Page hero ────────────────────────────────────────── */
.ads-hero {
  padding: 28px 0 18px;
  border-bottom: 1px solid var(--ads-border);
  margin-bottom: 26px;
  display: flex;
  flex-direction: column;
}

.ads-hero__back {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 620;
  color: var(--ads-muted);
  text-decoration: none;
  margin-bottom: 14px;
  transition: color 0.15s;
}

.ads-hero__back:hover { color: var(--ads-red); }

.ads-hero__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.ads-hero__text { flex: 1; min-width: 0; }

.ads-hero__title {
  font-size: 26px;
  font-weight: 520;
  color: var(--ads-text);
  margin: 0 0 5px;
}

.ads-hero__subtitle {
  font-size: 14px;
  color: var(--ads-muted);
  margin: 0;
}

/* ── Toolbar ──────────────────────────────────────────── */
.ads-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  background: var(--ads-surface-alt);
  border: 1px solid var(--ads-border);
  border-radius: 12px;
  margin-bottom: 20px;
}

.ads-toolbar .form-select,
.ads-toolbar .form-control {
  border-radius: 8px;
  border: 1px solid var(--ads-border);
  background: var(--ads-surface);
  color: var(--ads-text);
  font-size: 13.5px;
  height: 38px;
}

.ads-toolbar .form-select { min-width: 160px; }
.ads-toolbar .form-control { min-width: 220px; }

/* ── Data table ───────────────────────────────────────── */
.ads-table-wrap {
  border: 1px solid var(--ads-border);
  border-radius: 14px;
  overflow: hidden;
  background: var(--ads-surface);
}

.ads-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
}

.ads-table thead { background: var(--ads-surface-alt); }

.ads-table thead th {
  padding: 12px 16px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ads-muted);
  white-space: nowrap;
  border-bottom: 1px solid var(--ads-border);
}

.ads-table thead th[data-sort] { cursor: pointer; user-select: none; }
.ads-table thead th[data-sort]:hover { color: var(--ads-red); }

.ads-table thead th[data-sort]::after {
  content: '\00a0\21c5';
  font-size: 10px;
  opacity: 0.35;
}

.ads-table thead th[data-sort].sort-asc::after {
  content: '\00a0\25b2';
  opacity: 1;
  color: var(--ads-red);
}

.ads-table thead th[data-sort].sort-desc::after {
  content: '\00a0\25bc';
  opacity: 1;
  color: var(--ads-red);
}

.ads-table tbody tr {
  border-bottom: 1px solid var(--ads-border);
  transition: background 0.1s;
}

.ads-table tbody tr:last-child { border-bottom: none; }
.ads-table tbody tr:hover { background: var(--ads-red-surface); }
.ads-table tbody tr.sr-clickable-row { cursor: pointer; }
.ads-table tbody tr.sr-clickable-row:focus {
  background: var(--ads-red-surface);
  outline: 2px solid var(--ads-red);
  outline-offset: -2px;
}

.ads-table td {
  padding: 12px 16px;
  color: var(--ads-text);
  vertical-align: middle;
}

.ads-table td a { color: var(--ads-red); font-weight: 620; text-decoration: none; }
.ads-table td a:hover { text-decoration: underline; }

.ads-table__empty {
  text-align: center;
  color: var(--ads-muted);
  padding: 48px 16px;
}

.ads-table__actions { display: flex; align-items: center; gap: 8px; }

/* Admin confirm payment */
.confirm-payment-page {
  display: grid;
  gap: 18px;
  color: #1f2937;
}

.confirm-payment-header,
.confirm-payment-filters,
.confirm-payment-bulkbar,
.confirm-payment-stats {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.confirm-payment-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 22px;
}

.confirm-payment-kicker {
  margin: 0 0 6px;
  color: #6b7280;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.confirm-payment-header h1 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: #111827;
  font-size: 24px;
  font-weight: 520;
  letter-spacing: 0;
}

.confirm-payment-refresh,
.confirm-payment-reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #fff;
  color: #374151;
  font-weight: 700;
}

.confirm-payment-refresh:hover,
.confirm-payment-reset:hover {
  color: #111827;
  border-color: #9ca3af;
}

.confirm-payment-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.confirm-payment-stats > div {
  padding: 18px 20px;
  border-right: 1px solid #e5e7eb;
}

.confirm-payment-stats > div:last-child {
  border-right: 0;
}

.confirm-payment-stats span {
  display: block;
  margin-bottom: 6px;
  color: #6b7280;
  font-size: 12px;
  font-weight: 700;
}

.confirm-payment-stats strong {
  color: #111827;
  font-size: 24px;
  font-weight: 520;
}

.confirm-payment-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  align-items: end;
  gap: 12px;
  padding: 16px;
}

.confirm-payment-filters label:first-child {
  grid-column: span 2;
}

.confirm-payment-filters label {
  display: grid;
  gap: 6px;
  margin: 0;
}

.confirm-payment-filters label span {
  color: #4b5563;
  font-size: 12px;
  font-weight: 700;
}

.confirm-payment-filters input,
.confirm-payment-filters select {
  width: 100%;
  min-height: 40px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #fff;
  color: #111827;
  padding: 0 12px;
}

.confirm-payment-bulkbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
}

.confirm-payment-bulkbar > div {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.confirm-payment-bulkbar strong {
  font-size: 22px;
  color: #111827;
}

.confirm-payment-bulkbar span {
  color: #6b7280;
  font-weight: 700;
}

.confirm-payment-table-card {
  overflow: hidden;
  border: 1px solid #e5e7eb;
}

.confirm-payment-table th a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: inherit;
}

.confirm-payment-table td span {
  display: block;
  color: #6b7280;
  font-size: 12px;
}

.confirm-payment-table td small {
  display: block;
  max-width: 360px;
  color: #4b5563;
  line-height: 1.5;
}

.confirm-payment-check-cell {
  width: 44px;
  text-align: center;
}

.confirm-payment-check-cell input {
  width: 18px;
  height: 18px;
  accent-color: #16a34a;
}

.confirm-payment-currency,
.confirm-payment-bank-ok,
.confirm-payment-bank-missing {
  display: inline-flex;
  width: fit-content;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 520;
}

.confirm-payment-currency {
  color: #9E3737;
  background: #dbeafe;
}

.confirm-payment-bank-ok {
  color: #047857;
  background: #d1fae5;
}

.confirm-payment-bank-missing {
  color: #b45309;
  background: #fef3c7;
}

.confirm-payment-empty {
  padding: 32px;
  color: #6b7280;
  text-align: center;
  font-weight: 700;
}

.confirm-payment-pagination {
  display: flex;
  justify-content: flex-end;
}

.confirm-payment-pagination .global-pagination {
  margin-top: 0;
}

.payment-history-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.payment-history-nav a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #fff;
  color: #374151;
  font-weight: 520;
}

.payment-history-nav a:hover,
.payment-history-nav a.active {
  border-color: #16a34a;
  background: #dcfce7;
  color: #166534;
}

.payment-history-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.payment-history-status {
  display: inline-flex;
  width: fit-content;
  padding: 4px 8px;
  border-radius: 999px;
  background: #f3f4f6;
  color: #374151;
  font-size: 12px;
  font-weight: 520;
}

.payment-history-status--credit,
.payment-history-status--completed,
.payment-history-status--paid {
  background: #d1fae5;
  color: #047857;
}

.payment-history-status--debit,
.payment-history-status--refund,
.payment-history-status--refunded {
  background: #fee2e2;
  color: #b91c1c;
}

.payment-history-status--payout {
  background: #dbeafe;
  color: #9E3737;
}

.night-mode .confirm-payment-page {
  color: #e5e7eb;
}

.night-mode .confirm-payment-header,
.night-mode .confirm-payment-filters,
.night-mode .confirm-payment-bulkbar,
.night-mode .confirm-payment-stats {
  background: #151821;
  border-color: #2a2f3a;
  box-shadow: none;
}

.night-mode .confirm-payment-header h1,
.night-mode .confirm-payment-stats strong,
.night-mode .confirm-payment-bulkbar strong,
.night-mode .confirm-payment-refresh:hover,
.night-mode .confirm-payment-reset:hover {
  color: #f9fafb;
}

.night-mode .confirm-payment-kicker,
.night-mode .confirm-payment-stats span,
.night-mode .confirm-payment-bulkbar span,
.night-mode .confirm-payment-filters label span,
.night-mode .confirm-payment-table td span,
.night-mode .confirm-payment-empty {
  color: #9ca3af;
}

.night-mode .confirm-payment-refresh,
.night-mode .confirm-payment-reset,
.night-mode .confirm-payment-filters input,
.night-mode .confirm-payment-filters select {
  background: #10131a;
  border-color: #343a46;
  color: #f9fafb;
}

.night-mode .confirm-payment-stats > div,
.night-mode .confirm-payment-table-card {
  border-color: #2a2f3a;
}

.night-mode .confirm-payment-table td small {
  color: #cbd5e1;
}

.night-mode .payment-history-nav a {
  background: #10131a;
  border-color: #343a46;
  color: #e5e7eb;
}

.night-mode .payment-history-nav a:hover,
.night-mode .payment-history-nav a.active {
  border-color: #22c55e;
  background: #12321f;
  color: #bbf7d0;
}

.night-mode .payment-history-status {
  background: #262b36;
  color: #d1d5db;
}

@media (max-width: 991px) {
  .confirm-payment-header,
  .confirm-payment-bulkbar {
    align-items: stretch;
    flex-direction: column;
  }

  .confirm-payment-stats,
  .confirm-payment-filters {
    grid-template-columns: 1fr;
  }

  .confirm-payment-filters label:first-child {
    grid-column: auto;
  }

  .confirm-payment-stats > div {
    border-right: 0;
    border-bottom: 1px solid #e5e7eb;
  }

  .confirm-payment-stats > div:last-child {
    border-bottom: 0;
  }
}

/* ── Status badges ────────────────────────────────────── */
.ads-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.ads-badge::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}

.ads-badge--active    { background: rgba(21,128,61,.10); color: #15803d; }
.ads-badge--paused,
.ads-badge--awaiting_start { background: rgba(180,83,9,.10); color: #b45309; }
.ads-badge--stopped   { background: rgba(185,28,28,.10); color: #b91c1c; }
.ads-badge--completed { background: rgba(79,70,229,.10); color: #4f46e5; }
.ads-badge--pending,
.ads-badge--default   { background: rgba(107,114,128,.12); color: #4b5563; }

/* ── Event selection cards ────────────────────────────── */
.ads-event-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  gap: 16px;
  margin-top: 20px;
}

.ads-event-card {
  border: 1px solid var(--ads-border);
  border-radius: 14px;
  padding: 20px;
  background: var(--ads-surface);
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.ads-event-card:hover {
  border-color: var(--ads-red-border);
  box-shadow: 0 6px 20px rgba(185,28,28,.08);
}

.ads-event-card__name { font-size: 15px; font-weight: 700; color: var(--ads-text); margin: 0; }
.ads-event-card__date { font-size: 13px; color: var(--ads-muted); margin: 0; }

/* ── Package cards ────────────────────────────────────── */
.ads-pkg-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
  gap: 20px;
  margin-top: 20px;
}

.ads-pkg-card {
  border: 1px solid var(--ads-border);
  border-radius: 18px;
  padding: 26px;
  background: var(--ads-surface);
  display: flex;
  flex-direction: column;
  transition: border-color 0.15s, box-shadow 0.2s, transform 0.15s;
}

.ads-pkg-card:hover {
  border-color: var(--ads-red-border);
  box-shadow: 0 10px 32px rgba(185,28,28,.10);
  transform: translateY(-2px);
}

.ads-pkg-card__name { font-size: 17px; font-weight: 520; color: var(--ads-text); margin: 0 0 8px; }

.ads-pkg-card__desc {
  font-size: 13px;
  color: var(--ads-muted);
  margin: 0 0 20px;
  line-height: 1.55;
}

.ads-pkg-card__price {
  font-size: 34px;
  font-weight: 749;
  color: var(--ads-red);
  line-height: 1;
  margin-bottom: 2px;
}

.ads-pkg-card__price small { font-size: 14px; font-weight: 554; color: var(--ads-muted); }
.ads-pkg-card__duration { font-size: 13px; color: var(--ads-muted); margin: 0 0 20px; }
.ads-pkg-card__divider { height: 1px; background: var(--ads-border); margin: 4px 0 16px; }

.ads-pkg-card__label {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--ads-muted);
  margin: 0 0 8px;
}

.ads-pkg-card__list {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  display: grid;
  gap: 7px;
}

.ads-pkg-card__list li {
  font-size: 13px;
  color: var(--ads-text);
  display: flex;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.4;
}

.ads-pkg-card__list li::before {
  content: '';
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--ads-red-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23b91c1c' d='M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z'/%3E%3C/svg%3E") center/10px no-repeat;
  flex-shrink: 0;
  margin-top: 1px;
}

.ads-pkg-card__cta { margin-top: auto; padding-top: 18px; }
.ads-pkg-card__cta a,
.ads-pkg-card__cta button { width: 100%; text-align: center; display: block; }

/* ── Currency switcher / checkout ─────────────────────── */
.ads-currency-wrap {
  background: var(--ads-surface-alt);
  border: 1px solid var(--ads-border);
  border-radius: 16px;
  padding: 22px 24px;
  margin: 20px 0;
}

.ads-price-live {
  font-size: 2.4rem;
  font-weight: 749;
  color: var(--ads-red);
  line-height: 1;
  margin-bottom: 4px;
}

.ads-price-note { font-size: 13px; color: var(--ads-muted); margin: 6px 0 0; }

.ads-currency-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  flex-wrap: wrap;
}

.ads-currency-row label { font-size: 13px; font-weight: 620; color: var(--ads-text); white-space: nowrap; }

.ads-currency-select {
  border: 1px solid var(--ads-border);
  border-radius: 8px;
  padding: 7px 12px;
  font-size: 13.5px;
  background: var(--ads-surface);
  color: var(--ads-text);
  cursor: pointer;
  min-width: 230px;
}

.ads-currency-select:focus { outline: 2px solid var(--ads-red); border-color: transparent; }
.ads-rate-note { font-size: 11.5px; color: #9ca3af; margin-top: 10px; }

/* ── Order summary (checkout) ─────────────────────────── */
.ads-order-summary {
  background: var(--ads-surface);
  border: 1px solid var(--ads-border);
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 20px;
}

.ads-order-summary__hdr {
  background: var(--ads-surface-alt);
  padding: 11px 20px;
  border-bottom: 1px solid var(--ads-border);
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--ads-muted);
}

.ads-order-summary dl {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.ads-order-summary dl > div {
  padding: 14px 20px;
  border-bottom: 1px solid var(--ads-border);
}

.ads-order-summary dl > div:nth-last-child(-n+2) { border-bottom: none; }

.ads-order-summary dt {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--ads-muted);
  margin-bottom: 4px;
}

.ads-order-summary dd { margin: 0; font-weight: 620; color: var(--ads-text); font-size: 14px; }

.ads-pay-btn {
  width: 100%;
  padding: 15px;
  font-size: 15px;
  font-weight: 520;
  border-radius: 12px;
  border: none;
  background: var(--ads-red);
  color: #fff;
  cursor: pointer;
  transition: background 0.15s, transform 0.1s;
  margin-top: 16px;
}

.ads-pay-btn:hover:not(:disabled) { background: var(--ads-red-hover); transform: translateY(-1px); }
.ads-pay-btn:disabled { background: #9ca3af; cursor: not-allowed; }

.ads-secure-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 12px;
  color: var(--ads-muted);
  margin-top: 10px;
}

.ads-secure-note i { color: #16a34a; }
.ads-order-ref { font-size: 12px; color: var(--ads-muted); margin-bottom: 16px; }

/* ── Payment result pages ─────────────────────────────── */
.ads-result {
  max-width: 480px;
  margin: 60px auto;
  text-align: center;
  padding: 0 16px;
}

.ads-result__icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  margin-bottom: 24px;
}

.ads-result__icon--success { background: rgba(21,128,61,.10); color: #15803d; }
.ads-result__icon--failed  { background: rgba(185,28,28,.10); color: var(--ads-red); }

.ads-result__title { font-size: 24px; font-weight: 520; color: var(--ads-text); margin: 0 0 12px; }
.ads-result__body  { font-size: 15px; color: var(--ads-muted); margin: 0 0 8px; line-height: 1.6; }
.ads-result__ref   { font-size: 12px; color: var(--ads-muted); margin: 12px 0 28px; }

.ads-result__actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }

/* ── Campaign facts (admin detail) ───────────────────── */
.ads-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  border: 1px solid var(--ads-border);
  border-radius: 14px;
  overflow: hidden;
}

.ads-facts > div {
  padding: 14px 18px;
  border-bottom: 1px solid var(--ads-border);
  border-right: 1px solid var(--ads-border);
}

.ads-facts > div:nth-child(even) { border-right: none; }
.ads-facts > div:nth-last-child(-n+2) { border-bottom: none; }

.ads-facts dt {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ads-muted);
  margin-bottom: 4px;
}

.ads-facts dd { margin: 0; font-weight: 620; color: var(--ads-text); font-size: 14px; }
.ads-facts a { color: var(--ads-red); text-decoration: none; }
.ads-facts a:hover { text-decoration: underline; }

/* ── Audit log ────────────────────────────────────────── */
.ads-audit { border: 1px solid var(--ads-border); border-radius: 14px; overflow: hidden; }

.ads-audit__entry {
  padding: 14px 18px;
  border-bottom: 1px solid var(--ads-border);
  display: grid;
  gap: 3px;
}

.ads-audit__entry:last-child { border-bottom: none; }

.ads-audit__action {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--ads-text);
  display: flex;
  align-items: center;
  gap: 8px;
}

.ads-audit__action::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ads-red);
  flex-shrink: 0;
}

.ads-audit__meta { font-size: 12px; color: var(--ads-muted); }

.ads-audit__note {
  font-size: 13px;
  color: var(--ads-text);
  margin: 4px 0 0;
  padding: 8px 10px;
  background: var(--ads-surface-alt);
  border-radius: 6px;
  border-left: 2px solid var(--ads-red-border);
}

.ads-audit__empty { padding: 32px; text-align: center; color: var(--ads-muted); font-size: 13px; }

/* ── Action panels (admin sidebar) ───────────────────── */
.ads-action-panel {
  border: 1px solid var(--ads-border);
  border-radius: 16px;
  padding: 20px;
  background: var(--ads-surface);
  margin-bottom: 16px;
}

.ads-action-panel h3 {
  font-size: 12px;
  font-weight: 520;
  color: var(--ads-muted);
  margin: 0 0 14px;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--ads-border);
}

.ads-action-panel .form-control:focus {
  border-color: var(--ads-red);
  box-shadow: 0 0 0 3px rgba(185,28,28,.12);
}

/* ── Package edit form panels ─────────────────────────── */
#campaignStatsModal {
  z-index: 90;
}

#campaignStatsModal .modal-content,
#campaignStatsModal .modal-header,
#campaignStatsModal .modal-body,
#campaignStatsModal .modal-footer {
  background: var(--ads-surface);
  color: var(--ads-text);
}

.modal-backdrop.show {
  background-color: #000;
  opacity: .65;
  z-index: 70;
}

.ads-form-panel {
  border: 1px solid var(--ads-border);
  border-radius: 16px;
  padding: 24px;
  background: var(--ads-surface);
  margin-bottom: 20px;
}

.ads-form-panel__title {
  font-size: 11px;
  font-weight: 520;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ads-muted);
  margin: 0 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--ads-border);
}

/* ── Flash messages ───────────────────────────────────── */
.ads-flash { border-radius: 10px; padding: 12px 16px; margin-bottom: 20px; font-size: 13.5px; font-weight: 620; }
.ads-flash--ok  { background: rgba(21,128,61,.10); color: #15803d; border: 1px solid rgba(21,128,61,.2); }
.ads-flash--err { background: rgba(185,28,28,.08); color: var(--ads-red); border: 1px solid var(--ads-red-border); }

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 767px) {
  .ads-order-summary dl { grid-template-columns: 1fr; }
  .ads-order-summary dl > div:nth-last-child(-n+2) { border-bottom: 1px solid var(--ads-border); }
  .ads-order-summary dl > div:last-child { border-bottom: none; }
  .ads-facts { grid-template-columns: 1fr; }
  .ads-facts > div { border-right: none; }
  .ads-facts > div:nth-last-child(-n+2) { border-bottom: 1px solid var(--ads-border); }
  .ads-facts > div:last-child { border-bottom: none; }
  .ads-hero__title { font-size: 20px; }
  .ads-price-live { font-size: 2rem; }
  .ads-toolbar { flex-direction: column; align-items: stretch; }
  .ads-toolbar .form-select,
  .ads-toolbar .form-control { width: 100%; }
}


/* ── Ads button system ────────────────────────────────────
   Use these on all ads pages instead of .secondary / .danger
   ─────────────────────────────────────────────────────── */
.ads-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 38px;
  padding: 0 18px;
  border-radius: 8px;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s, color 0.15s, transform 0.1s, border-color 0.15s;
  vertical-align: middle;
}

.ads-btn:hover  { transform: translateY(-1px); text-decoration: none; }
.ads-btn:active { transform: translateY(0); }
.ads-btn:disabled,
.ads-btn[disabled] {
  opacity: 0.45;
  pointer-events: none;
  cursor: not-allowed;
}

/* Primary - deep red fill */
.ads-btn--primary {
  background: var(--ads-red);
  color: #fff !important;
  border-color: var(--ads-red);
}
.ads-btn--primary:hover { background: var(--ads-red-hover); border-color: var(--ads-red-hover); color: #fff; }

/* Secondary - red tint surface */
.ads-btn--secondary {
  background: var(--ads-red-surface);
  color: var(--ads-red);
  border-color: var(--ads-red-border);
}
.ads-btn--secondary:hover {
  background: rgba(185, 28, 28, 0.13);
  color: var(--ads-red);
}

/* Ghost - neutral grey outline */
.ads-btn--ghost {
  background: var(--ads-surface-alt);
  color: var(--ads-text);
  border-color: var(--ads-border);
}
.ads-btn--ghost:hover {
  background: var(--ads-border);
  color: var(--ads-text);
}

/* Danger - red outline, fills on hover */
.ads-btn--danger {
  background: rgba(185, 28, 28, 0.07);
  color: var(--ads-red);
  border-color: var(--ads-red-border);
}
.ads-btn--danger:hover {
  background: var(--ads-red);
  color: #fff;
  border-color: var(--ads-red);
}

/* Sizes */
.ads-btn--sm  { height: 32px; padding: 0 12px; font-size: 12px; }
.ads-btn--lg  { height: 46px; padding: 0 26px; font-size: 15px; }
.ads-btn--full { width: 100%; }

/* Dark mode overrides */
html.night-mode .ads-btn--ghost {
  background: var(--ads-surface);
  color: var(--ads-text);
  border-color: var(--ads-border);
}
html.night-mode .ads-btn--ghost:hover {
  background: rgba(255,255,255,0.06);
}
html.night-mode .ads-btn--secondary {
  background: rgba(185,28,28,0.12);
}
html.night-mode .ads-btn--secondary:hover {
  background: rgba(185,28,28,0.20);
}
html.night-mode .ads-btn--danger {
  background: rgba(185,28,28,0.10);
}


/* ═══════════════════════════════════════════════════════
   GLOBAL BUTTON SYSTEM
   .sr-btn  - base (use on <a> or <button>)
   .sr-btn-primary   - deep-red fill  (brand primary)
   .sr-btn-secondary - red-tint outlined  (brand secondary)
   .sr-btn-ghost     - neutral grey outline  (utility)
   .sr-btn-danger    - destructive action
   Modifiers: .sr-btn-sm  .sr-btn-lg  .sr-btn-full
   These are intentionally standalone - no parent context required.
   ═══════════════════════════════════════════════════════ */

/* ── Base ─────────────────────────────────────────────── */
.sr-btn {
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  gap:             6px;
  height:          var(--sr-btn-height);
  padding:         0 20px;
  border-radius:   var(--sr-btn-radius);
  font-size:       var(--sr-btn-font);
  font-weight:     var(--sr-btn-weight);
  line-height:     1;
  white-space:     nowrap;
  text-decoration: none;
  border:          1px solid transparent;
  cursor:          pointer;
  transition:      background 0.15s, color 0.15s, border-color 0.15s, transform 0.1s, box-shadow 0.15s;
  vertical-align:  middle;
  -webkit-appearance: none;
  appearance:      none;
}

.sr-btn:hover         { transform: translateY(-1px); text-decoration: none; }
.sr-btn:active        { transform: translateY(0); }
.sr-btn:focus-visible { outline: 3px solid var(--sr-primary); outline-offset: 2px; }

.sr-btn:disabled,
.sr-btn[disabled] {
  opacity:        0.42;
  pointer-events: none;
  cursor:         not-allowed;
  transform:      none;
}

/* ── Primary ──────────────────────────────────────────── */
.sr-btn-primary {
  background:   var(--sr-primary);
  color:        #fff;
  border-color: var(--sr-primary);
  box-shadow:   0 2px 8px rgba(123, 2, 2, 0.18);
}

.sr-btn-primary:hover {
  background:   var(--sr-primary-hover);
  border-color: var(--sr-primary-hover);
  color:        #fff;
  box-shadow:   0 4px 14px rgba(123, 2, 2, 0.24);
}

/* ── Secondary ────────────────────────────────────────── */
.sr-btn-secondary {
  background:   var(--sr-primary-tint);
  color:        var(--sr-primary);
  border-color: var(--sr-primary-border);
}

.sr-btn-secondary:hover {
  background:   rgba(123, 2, 2, 0.13);
  color:        var(--sr-primary);
  border-color: rgba(123, 2, 2, 0.32);
}

/* ── Ghost (neutral) ──────────────────────────────────── */
.sr-btn-ghost {
  background:   #f3f4f6;
  color:        #374151;
  border-color: rgba(0, 0, 0, 0.10);
}

.sr-btn-ghost:hover {
  background:   #e5e7eb;
  color:        #111;
}

/* ── Danger ───────────────────────────────────────────── */
.sr-btn-danger {
  background:   rgba(185, 28, 28, 0.07);
  color:        #b91c1c;
  border-color: rgba(185, 28, 28, 0.22);
}

.sr-btn-danger:hover {
  background:   #b91c1c;
  color:        #fff;
  border-color: #b91c1c;
}

/* ── Size modifiers ───────────────────────────────────── */
.sr-btn-sm {
  height:      32px;
  padding:     0 12px;
  font-size:   12px;
  border-radius: 6px;
}

.sr-btn-lg {
  height:      48px;
  padding:     0 28px;
  font-size:   15px;
  border-radius: 10px;
}

.sr-btn-full { width: 100%; }

/* ── Dark mode ────────────────────────────────────────── */
html.night-mode .sr-btn-ghost {
  background:   rgba(255, 255, 255, 0.06);
  color:        #e5e7eb;
  border-color: rgba(255, 255, 255, 0.10);
}

html.night-mode .sr-btn-ghost:hover {
  background:   rgba(255, 255, 255, 0.11);
  color:        #fff;
}

html.night-mode .sr-btn-secondary {
  background:   rgba(123, 2, 2, 0.14);
  border-color: rgba(123, 2, 2, 0.32);
}

html.night-mode .sr-btn-secondary:hover {
  background:   rgba(123, 2, 2, 0.22);
}

html.night-mode .sr-btn-danger {
  background:   rgba(185, 28, 28, 0.12);
  border-color: rgba(185, 28, 28, 0.28);
}

html.night-mode .sr-btn-danger:hover {
  background:   #991b1b;
  border-color: #991b1b;
}

/* Shared admin content editor */
.admin-content-alert {
  padding: 10px;
  background-color: #f27100;
  color: #fff;
  margin-bottom: 15px;
  border-radius: 6px;
}

.content-editor-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

.content-editor-tabs .content-editor-tab {
  border: 1px solid #ddd;
  background: #fff;
  color: #333;
  padding: 6px 14px;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
}

.content-editor-tabs .content-editor-tab.active {
  border-color: #f27100;
  background: #f27100;
  color: #fff;
}

.content-editor-tab i {
  margin-right: 5px;
}

.tiptap-toolbar {
  align-items: center;
  border: 1px solid #ddd;
  border-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px;
  background: linear-gradient(135deg, #fffaf4 0%, #f8f9fa 100%);
  border-radius: 10px 10px 0 0;
  overflow: visible;
  position: relative;
}

.tiptap-toolbar__group {
  align-items: center;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-right: 8px;
  border-right: 1px solid rgba(0, 0, 0, 0.08);
}

.tiptap-toolbar__group:last-child {
  border-right: 0;
  padding-right: 0;
}

.tiptap-toolbar__select-wrap {
  align-items: center;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 999px;
  color: #333;
  display: inline-flex;
  gap: 6px;
  min-height: 32px;
  padding: 0 8px;
  position: relative;
}

.tiptap-toolbar__select-icon {
  color: #9a4314;
  font-size: 13px;
}

.tiptap-toolbar select {
  appearance: auto;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  min-height: 32px;
  outline: 0;
}

.tiptap-toolbar button {
  align-items: center;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 999px;
  color: #333;
  cursor: pointer;
  display: inline-flex;
  height: 36px;
  justify-content: center;
  min-height: 36px;
  padding: 0;
  position: relative;
  transition: background-color 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, color 0.16s ease, transform 0.16s ease;
  width: 36px;
}

.tiptap-toolbar button:hover,
.tiptap-toolbar button:focus-visible,
.tiptap-toolbar__select-wrap:hover,
.tiptap-toolbar__select-wrap:focus-within {
  border-color: #f27100;
  box-shadow: 0 8px 20px rgba(242, 113, 0, 0.14);
  color: #9a4314;
}

.tiptap-toolbar button:hover,
.tiptap-toolbar button:focus-visible {
  transform: translateY(-1px);
}

.tiptap-toolbar button.active {
  background: #fff2e5;
  border-color: #f27100;
  color: #f27100;
}

.tiptap-toolbar__button::after,
.tiptap-toolbar__select-wrap::after {
  background: #20160f;
  border-radius: 8px;
  bottom: calc(100% + 8px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
  color: #fff;
  content: attr(data-tooltip);
  font-size: 12px;
  font-weight: 700;
  left: 50%;
  line-height: 1.2;
  max-width: 220px;
  opacity: 0;
  padding: 7px 9px;
  pointer-events: none;
  position: absolute;
  transform: translate(-50%, 4px);
  transition: opacity 0.14s ease, transform 0.14s ease;
  white-space: nowrap;
  z-index: 30;
}

.tiptap-toolbar__button:hover::after,
.tiptap-toolbar__button:focus-visible::after,
.tiptap-toolbar__select-wrap:hover::after,
.tiptap-toolbar__select-wrap:focus-within::after {
  opacity: 1;
  transform: translate(-50%, 0);
}

.tiptap-editor {
  min-height: 360px;
  border: 1px solid #ddd;
  background: #fff;
  padding: 12px;
  border-radius: 0 0 10px 10px;
}

.tiptap-editor .ProseMirror {
  min-height: 336px;
  outline: none;
}

.tiptap-editor img {
  display: block;
  height: auto;
  max-width: 100%;
}

.tiptap-editor iframe {
  display: block;
  max-width: 100%;
  min-height: 280px;
  width: 100%;
}

.plain-html-editor {
  width: 100%;
  height: 460px;
  min-height: 460px;
  font-family: Consolas, Monaco, "Courier New", monospace;
  font-size: 14px;
  line-height: 1.55;
  resize: vertical;
}

.html-preview-frame {
  width: 100%;
  min-height: 560px;
  border: 1px solid #ddd;
  background: #fff;
}

.editor-mode-note {
  font-size: 12px;
  color: #666;
  background: #fff8f0;
  border: 1px solid #f2d4b7;
  border-radius: 4px;
  padding: 8px 10px;
  margin-bottom: 10px;
}

.tag-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 4px;
  padding: 6px 8px;
  border-radius: 999px;
  background: var(--sr-primary);
  color: #fff;
  font-size: 13px;
}

.tag-chip button {
  border: 0;
  background: var(--sr-danger);
  color: #fff;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1;
  padding: 3px 6px;
}

.admin-message-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
}

.admin-message-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 16px;
}

.admin-message-search {
  flex: 1 1 280px;
}

.admin-message-channel-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.admin-message-channel {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  color: #111827;
  font-weight: 700;
}

.admin-message-channel input {
  width: 18px;
  height: 18px;
}

.admin-message-status-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.admin-message-status {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #f3f4f6;
  color: #374151;
  font-size: 12px;
  font-weight: 700;
}

html.night-mode .content-editor-tabs .content-editor-tab,
html.night-mode .tiptap-toolbar button,
html.night-mode .tiptap-toolbar__select-wrap,
html.night-mode .tiptap-toolbar select,
html.night-mode .tiptap-editor,
html.night-mode .plain-html-editor,
html.night-mode .html-preview-frame,
html.night-mode .admin-message-channel {
  border-color: rgba(255, 255, 255, 0.14);
  background: #1f2937;
  color: #e5e7eb;
}

html.night-mode .tiptap-toolbar {
  border-color: rgba(255, 255, 255, 0.14);
  background: linear-gradient(135deg, #111827 0%, #1f2937 100%);
}

html.night-mode .tiptap-toolbar__group {
  border-right-color: rgba(255, 255, 255, 0.12);
}

html.night-mode .tiptap-toolbar__select-icon {
  color: #fb923c;
}

html.night-mode .tiptap-toolbar button:hover,
html.night-mode .tiptap-toolbar button:focus-visible,
html.night-mode .tiptap-toolbar__select-wrap:hover,
html.night-mode .tiptap-toolbar__select-wrap:focus-within {
  border-color: #fb923c;
  box-shadow: 0 8px 20px rgba(251, 146, 60, 0.18);
  color: #fed7aa;
}

html.night-mode .tiptap-toolbar button.active {
  background: rgba(251, 146, 60, 0.14);
  border-color: #fb923c;
  color: #fdba74;
}

html.night-mode .tiptap-toolbar__button::after,
html.night-mode .tiptap-toolbar__select-wrap::after {
  background: #f9fafb;
  color: #111827;
}

html.night-mode .editor-mode-note {
  color: #fde68a;
  background: rgba(245, 158, 11, 0.12);
  border-color: rgba(245, 158, 11, 0.28);
}

html.night-mode .admin-message-status {
  background: rgba(255, 255, 255, 0.08);
  color: #e5e7eb;
}

/* Admin orders */
.admin-orders-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 24px;
}

.admin-orders-summary > div {
  border: 1px solid #e5e7eb;
  background: #fff;
  border-radius: 8px;
  padding: 16px;
  min-height: 88px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.admin-orders-summary span,
.admin-orders-table td span,
.admin-orders-muted {
  display: block;
  color: #6b7280;
  font-size: 12px;
  line-height: 1.35;
}

.admin-orders-summary strong {
  color: #111827;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 520;
  margin-top: 4px;
}

.admin-orders-filters {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 190px 150px auto auto auto;
  align-items: end;
  gap: 12px;
  margin-top: 22px;
}

.admin-orders-filters label {
  display: block;
  color: #374151;
  font-size: 12px;
  font-weight: 520;
  margin-bottom: 6px;
}

.admin-orders-search .relative-input i {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #6b7280;
}

.admin-orders-table {
  margin-bottom: 0;
}

.admin-orders-table th {
  white-space: nowrap;
}

.admin-orders-table th a {
  color: inherit;
  text-decoration: none;
}

.admin-orders-table td {
  vertical-align: middle;
  min-width: 120px;
}

.admin-orders-table td:nth-child(3),
.admin-orders-table td:nth-child(4) {
  min-width: 220px;
}

.admin-orders-link,
.admin-orders-reference {
  font-weight: 520;
  color: #6E0000;
  text-decoration: none;
}

.admin-orders-status {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 520;
  line-height: 1;
}

.admin-orders-status--success {
  background: #dcfce7;
  color: #166534;
}

.admin-orders-status--pending {
  background: #fef3c7;
  color: #92400e;
}

.admin-orders-status--refunded {
  background: #e0f2fe;
  color: #075985;
}

.admin-orders-status--danger {
  background: #fee2e2;
  color: #991b1b;
}

.admin-orders-status--neutral {
  background: #f3f4f6;
  color: #374151;
}

.admin-orders-actions {
  display: inline-flex;
  flex-wrap: nowrap;
  gap: 6px;
}

.admin-orders-empty {
  display: flex;
  min-height: 170px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  color: #6b7280;
}

.admin-orders-empty i {
  font-size: 26px;
  color: #9ca3af;
}

.admin-orders-empty strong {
  color: #111827;
}

.admin-orders-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 18px;
  margin-bottom: 24px;
}

.admin-orders-pagination > div {
  display: inline-flex;
  gap: 6px;
}

.admin-orders-toast {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 100;
  min-width: min(360px, calc(100vw - 32px));
}

.admin-order-detail-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
}

.admin-order-detail-head h3 {
  margin: 8px 0 2px;
  color: #111827;
  font-size: 26px;
  font-weight: 520;
}

.admin-order-detail-head span,
.admin-orders-back {
  color: #6b7280;
  font-size: 13px;
  font-weight: 700;
}

.admin-orders-back {
  text-decoration: none;
}

.admin-orders-actions--detail {
  justify-content: flex-end;
  flex-wrap: wrap;
}

.admin-order-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.admin-order-detail-sections {
  display: grid;
  gap: 14px;
  margin-top: 14px;
  margin-bottom: 24px;
}

.admin-order-detail-panel {
  padding: 20px;
  border-radius: 8px;
}

.admin-order-detail-panel h4 {
  margin: 0 0 16px;
  color: #111827;
  font-size: 16px;
  font-weight: 520;
}

.admin-order-detail-panel dl {
  margin: 0;
  display: grid;
  gap: 10px;
}

.admin-order-detail-panel dl > div {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #eef2f7;
}

.admin-order-detail-panel dt {
  color: #6b7280;
  font-size: 12px;
  font-weight: 520;
}

.admin-order-detail-panel dd {
  margin: 0;
  color: #111827;
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.admin-order-json-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.admin-order-items-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.admin-order-items-block {
  min-width: 0;
}

.admin-order-items-block > strong {
  display: block;
  margin-bottom: 10px;
  color: #374151;
  font-size: 13px;
}

.admin-order-json-grid strong {
  display: block;
  margin-bottom: 8px;
  color: #374151;
  font-size: 13px;
}

.admin-order-json-grid pre {
  margin: 0;
  min-height: 120px;
  max-height: 320px;
  overflow: auto;
  padding: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #f8fafc;
  color: #111827;
  font-size: 12px;
  line-height: 1.45;
}

@media (max-width: 1199.98px) {
  .admin-orders-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .admin-orders-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-orders-filters {
    grid-template-columns: 1fr;
  }

  .admin-orders-pagination {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-order-detail-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-order-detail-grid,
  .admin-order-items-grid,
  .admin-order-json-grid {
    grid-template-columns: 1fr;
  }

  .admin-order-detail-panel dl > div {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

/* Site banners */
.sr-site-banner {
  position: relative;
  z-index: 60;
  margin-top: 0;
  background: var(--sr-site-banner-bg, #111827);
  color: var(--sr-site-banner-text, #ffffff);
}

.sr-site-banner + .wrapper,
.sr-site-banner + main {
  margin-top: 0;
}

.sr-site-banner__inner {
  width: min(1200px, calc(100% - 32px));
  min-height: 58px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 0;
}

.sr-site-banner__image {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border-radius: 8px;
  object-fit: cover;
}

.sr-site-banner__copy {
  min-width: 0;
  flex: 1;
  display: grid;
  gap: 2px;
}

.sr-site-banner__copy strong,
.sr-site-banner__copy span {
  color: inherit;
  overflow-wrap: anywhere;
}

.sr-site-banner__copy strong {
  font-size: 15px;
  font-weight: 520;
  line-height: 1.25;
}

.sr-site-banner__copy span {
  font-size: 13px;
  line-height: 1.35;
  opacity: .9;
}

.sr-site-banner__button {
  flex: 0 0 auto;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 14px;
  border-radius: 8px;
  background: var(--sr-site-banner-button-bg, #ffffff);
  color: var(--sr-site-banner-button-text, #111827);
  font-size: 13px;
  font-weight: 520;
  line-height: 1;
  text-decoration: none;
}

.sr-site-banner__button:hover {
  color: var(--sr-site-banner-button-text, #111827);
  opacity: .9;
}

.sr-site-banner__close {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border: 0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .16);
  color: inherit;
}

.site-banner-admin-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr);
  gap: 18px;
}

.site-banner-admin-filters {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 180px 180px auto;
  gap: 12px;
  align-items: end;
}

.site-banner-admin-preview {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
}

.site-banner-admin-preview .sr-site-banner {
  margin-top: 0;
}

.site-banner-admin-preview .sr-site-banner__inner {
  width: 100%;
  padding: 12px;
}

.site-banner-color-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.site-banner-color-row input[type="color"] {
  width: 100%;
  height: 40px;
}

.site-banner-linked-image {
  width: 100%;
  max-height: 160px;
  border-radius: 8px;
  object-fit: cover;
}

@media (max-width: 991.98px) {
  .site-banner-admin-grid,
  .site-banner-admin-filters,
  .site-banner-color-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .sr-site-banner__inner {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 10px;
  }

  .sr-site-banner__copy {
    flex: 1 1 calc(100% - 90px);
  }

  .sr-site-banner__button {
    flex: 1 1 100%;
  }
}

/* ═══════════════════════════════════════════════════════
   SR REPORT PAGES  - organiser reports, data tables,
   page stats (reusable across kyc / errors / crons)
   ═══════════════════════════════════════════════════════ */

/* ── Report hero ──────────────────────────────────────── */
.sr-report-hero {
  padding: 24px 0 16px;
  border-bottom: 1px solid var(--ads-border, rgba(0,0,0,.08));
  margin-bottom: 0;
}

.sr-report-hero h1 {
  font-size: 22px;
  font-weight: 520;
  color: var(--ads-text);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.sr-report-hero p {
  font-size: 14px;
  color: var(--ads-muted, #6b7280);
  margin: 5px 0 0;
}

/* ── Report tab nav ───────────────────────────────────── */
.sr-report-tabs {
  display: flex;
  gap: 0;
  padding: 16px 0 0;
  border-bottom: 2px solid var(--ads-border, rgba(0,0,0,.08));
  margin-bottom: 20px;
  overflow-x: auto;
  scrollbar-width: none;
}

.sr-report-tabs::-webkit-scrollbar { display: none; }

.sr-report-tab {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  font-size: 13.5px;
  font-weight: 620;
  color: var(--ads-muted, #6b7280);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  white-space: nowrap;
  transition: color 0.15s, border-color 0.15s, background 0.15s;
  border-radius: 6px 6px 0 0;
  cursor: pointer;
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
  line-height: 1;
}

.sr-report-tab:hover {
  color: var(--sr-primary, #7b0202);
  background: rgba(123,2,2,.05);
  text-decoration: none;
}

.sr-report-tab--active {
  color: var(--sr-primary, #7b0202);
  border-bottom-color: var(--sr-primary, #7b0202);
  background: none;
}

.sr-report-tab__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: rgba(123,2,2,.1);
  color: var(--sr-primary, #7b0202);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

.sr-report-tab--active .sr-report-tab__count {
  background: var(--sr-primary, #7b0202);
  color: #fff;
}

/* ── Report toolbar (search + actions) ───────────────── */
.sr-report-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 18px;
  padding: 14px 16px;
  background: var(--ads-surface-alt, #f8f8f9);
  border: 1px solid var(--ads-border, rgba(0,0,0,.08));
  border-radius: 12px;
}

.sr-report-search {
  position: relative;
  flex: 1;
  min-width: 200px;
  max-width: 360px;
}

.sr-report-search input {
  width: 100%;
  height: 38px;
  padding: 0 12px 0 36px;
  border: 1px solid var(--ads-border, rgba(0,0,0,.08));
  border-radius: 8px;
  font-size: 13.5px;
  background: var(--ads-surface);
  color: var(--ads-text);
  transition: border-color 0.15s;
}

.sr-report-search input:focus {
  outline: none;
  border-color: var(--sr-primary, #7b0202);
  box-shadow: 0 0 0 3px rgba(123,2,2,.08);
}

.sr-report-search-icon {
  position: absolute;
  left: 11px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--ads-muted, #6b7280);
  font-size: 13px;
  pointer-events: none;
}

.sr-report-actions { display: flex; gap: 8px; align-items: center; margin-left: auto; }

/* ── Status dots (order status, transaction type) ─────── */
.sr-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 554;
  color: var(--ads-text);
}

.sr-status::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
  opacity: 0.9;
}

.sr-status--success  { color: #15803d; }
.sr-status--pending  { color: #b45309; }
.sr-status--cancelled { color: #b91c1c; }
.sr-status--credit   { color: #15803d; }
.sr-status--payout   { color: #9E3737; }
.sr-status--default  { color: var(--ads-muted, #6b7280); }

/* ── Report table footer (CSV row) ───────────────────── */
.sr-report-footer {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-top: 1px solid var(--ads-border, rgba(0,0,0,.08));
  background: var(--ads-surface-alt, #f8f8f9);
}

/* ── Delivery info cell (extras-booking) ─────────────── */
.sr-delivery-info {
  font-size: 12.5px;
  color: var(--ads-muted, #6b7280);
  display: grid;
  gap: 2px;
}

.sr-delivery-info span { display: flex; align-items: baseline; gap: 5px; }
.sr-delivery-info span b { color: var(--ads-text); font-weight: 620; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }

/* ── Page stat cards (KYC, errors, crons, etc.) ───────── */
.sr-page-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 14px;
  margin-bottom: 24px;
}

.sr-page-stat {
  background: var(--ads-surface);
  border: 1px solid var(--ads-border, rgba(0,0,0,.08));
  border-radius: 14px;
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-decoration: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}

a.sr-page-stat:hover {
  border-color: var(--sr-primary-border, rgba(123,2,2,.22));
  box-shadow: 0 4px 14px rgba(123,2,2,.07);
  text-decoration: none;
}

.sr-page-stat__label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--ads-muted, #6b7280);
}

.sr-page-stat__value {
  font-size: 26px;
  font-weight: 520;
  color: var(--ads-text);
  line-height: 1;
}

.sr-page-stat--red   .sr-page-stat__value { color: #b91c1c; }
.sr-page-stat--green .sr-page-stat__value { color: #15803d; }
.sr-page-stat--amber .sr-page-stat__value { color: #b45309; }
.sr-page-stat--blue  .sr-page-stat__value { color: #9E3737; }

/* ── Error / status badges (for errors page inline badges)  */
.sr-severity-badge {
  display: inline-block;
  border-radius: 999px;
  padding: 3px 9px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.sr-severity-badge--critical { background: rgba(185,28,28,.12); color: #b91c1c; }
.sr-severity-badge--error    { background: rgba(180,83,9,.11);  color: #b45309; }
.sr-severity-badge--warning  { background: rgba(234,179,8,.15); color: #854d0e; }
.sr-severity-badge--info     { background: rgba(29,78,216,.10); color: #9E3737; }

.sr-status-badge {
  display: inline-block;
  border-radius: 999px;
  padding: 3px 9px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .03em;
}

.sr-status-badge--open     { background: rgba(185,28,28,.1);  color: #b91c1c; }
.sr-status-badge--held     { background: rgba(180,83,9,.1);   color: #b45309; }
.sr-status-badge--resolved { background: rgba(21,128,61,.1);  color: #15803d; }
.sr-status-badge--ignored  { background: rgba(107,114,128,.12); color: #4b5563; }
.sr-status-badge--default  { background: rgba(107,114,128,.12); color: #4b5563; }

/* ── Cron-specific badges (extend sr-status-badge) ───── */
.sr-cron-badge {
  display: inline-block;
  border-radius: 999px;
  padding: 3px 9px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .03em;
}

.sr-cron-badge--completed { background: rgba(21,128,61,.1);   color: #15803d; }
.sr-cron-badge--failed    { background: rgba(185,28,28,.1);   color: #b91c1c; }
.sr-cron-badge--timeout   { background: rgba(180,83,9,.1);    color: #b45309; }
.sr-cron-badge--running   { background: rgba(29,78,216,.1);   color: #9E3737; }
.sr-cron-badge--default   { background: rgba(107,114,128,.12); color: #4b5563; }
.sr-cron-badge--high      { background: rgba(185,28,28,.1);   color: #b91c1c; }
.sr-cron-badge--medium    { background: rgba(180,83,9,.1);    color: #b45309; }
.sr-cron-badge--low       { background: rgba(21,128,61,.1);   color: #15803d; }

/* ── Flash / alert strip ──────────────────────────────── */
.sr-flash {
  border-radius: 10px;
  padding: 12px 16px;
  margin-bottom: 20px;
  font-size: 13.5px;
  font-weight: 620;
  display: flex;
  align-items: center;
  gap: 8px;
}

.sr-flash--ok  { background: rgba(21,128,61,.10); color: #15803d; border: 1px solid rgba(21,128,61,.2); }
.sr-flash--err { background: rgba(185,28,28,.08); color: #b91c1c; border: 1px solid rgba(185,28,28,.2); }

/* ── Contact list hero ────────────────────────────────── */
.sr-contact-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding: 24px 0 18px;
  border-bottom: 1px solid var(--ads-border, rgba(0,0,0,.08));
  margin-bottom: 20px;
}

.sr-contact-hero h1 {
  font-size: 22px;
  font-weight: 520;
  color: var(--ads-text);
  margin: 0 0 5px;
}

.sr-contact-hero p {
  font-size: 14px;
  color: var(--ads-muted, #6b7280);
  margin: 0;
}

.sr-contact-hero__actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }

/* ── Inline checkbox column ───────────────────────────── */
.sr-check-col { width: 38px; }

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 767px) {
  .sr-report-tabs { gap: 0; }
  .sr-report-tab  { padding: 8px 12px; font-size: 12.5px; }
  .sr-report-toolbar { flex-direction: column; align-items: stretch; }
  .sr-report-search  { max-width: 100%; }
  .sr-report-actions { margin-left: 0; }
  .sr-page-stats { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
  .sr-page-stats { grid-template-columns: 1fr; }
}


/* ── Error admin page styles (moved from inline) ─────── */
.sr-errors-page { padding: 22px 0 36px; }

.sr-errors-hero {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  border: 1px solid var(--ads-border, rgba(0,0,0,.08));
  border-radius: 14px;
  background: var(--ads-surface);
  margin-bottom: 16px;
  flex-wrap: wrap;
  align-items: flex-start;
}

.sr-errors-hero h1 { margin: 0; font-size: 22px; font-weight: 520; color: var(--ads-text); }
.sr-errors-hero p  { margin: 5px 0 0; color: var(--ads-muted); font-size: 14px; }

.sr-errors-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 20px;
}

.sr-error-stat {
  display: block;
  padding: 16px 18px;
  border: 1px solid var(--ads-border, rgba(0,0,0,.08));
  border-radius: 14px;
  background: var(--ads-surface);
  color: var(--ads-text);
  text-decoration: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.sr-error-stat:hover {
  border-color: var(--sr-primary-border, rgba(123,2,2,.22));
  box-shadow: 0 4px 14px rgba(123,2,2,.07);
  text-decoration: none;
  color: var(--ads-text);
}

.sr-error-stat span  { display: block; color: var(--ads-muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.sr-error-stat strong { display: block; margin-top: 6px; font-size: 26px; font-weight: 520; line-height: 1; }

.sr-errors-panel {
  border: 1px solid var(--ads-border, rgba(0,0,0,.08));
  border-radius: 14px;
  background: var(--ads-surface);
  overflow: hidden;
}

.sr-errors-toolbar {
  padding: 14px 16px;
  border-bottom: 1px solid var(--ads-border, rgba(0,0,0,.08));
  background: var(--ads-surface-alt, #f8f8f9);
}

.sr-errors-bulkbar {
  padding: 12px 16px;
  border-bottom: 1px solid var(--ads-border, rgba(0,0,0,.08));
  background: var(--ads-surface-alt, #f8f8f9);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.sr-errors-bulkbar .left,
.sr-errors-bulkbar .right { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

.sr-errors-table { margin: 0; }
.sr-errors-table th { white-space: nowrap; color: var(--ads-muted, #555); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; background: var(--ads-surface-alt, #fbfbfb); }

.sr-error-message { max-width: 520px; color: var(--ads-text, #222); }
.sr-error-source  { max-width: 230px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sr-error-meta    { display: block; margin-top: 3px; color: var(--ads-muted, #777); font-size: 11.5px; }
.sr-row-actions   { display: flex; gap: 6px; align-items: center; justify-content: flex-end; white-space: nowrap; }

/* Dark mode */
html.night-mode .sr-errors-hero,
html.night-mode .sr-error-stat,
html.night-mode .sr-errors-panel { background: var(--ads-surface); border-color: var(--ads-border); }
html.night-mode .sr-errors-toolbar,
html.night-mode .sr-errors-bulkbar { background: var(--ads-surface-alt); border-color: var(--ads-border); }
html.night-mode .sr-errors-table th { background: var(--ads-surface-alt); }

@media (max-width: 991px) {
  .sr-errors-hero   { display: block; }
  .sr-errors-stats  { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 540px) {
  .sr-errors-stats  { grid-template-columns: 1fr; }
}

/* Shared dashboard fixed-header offset */
.header ~ .wrapper-body {
  padding-top: var(--sr-page-top-gap, 18px);
}

@media (max-width: 575.98px) {
  .header--admin ~ .wrapper-body {
    padding-top: var(--sr-page-top-gap, 18px);
  }

  .header--organiser ~ .wrapper-body {
    padding-top: var(--sr-page-top-gap, 18px);
  }
}


/* Inline CSS migrated from first-party pages */

/* Static inline utility replacements */
.sr-fs-11 { font-size: 11px; }
.sr-fs-12 { font-size: 12px; }
.sr-fs-20 { font-size: 20px; }
.sr-mt-12 { margin-top: 12px; }
.sr-mt-14 { margin-top: 14px; }
.sr-mt-16 { margin-top: 16px; }
.sr-mt-18 { margin-top: 18px; }
.sr-mb-20 { margin-bottom: 20px; }
.sr-mb-24 { margin-bottom: 24px; }
.sr-ml-auto { margin-left: auto; }
.sr-text-center { text-align: center; }
.sr-text-right { text-align: right; }
.sr-fw-600 { font-weight: 600; }
.sr-text-danger { color: red; }
.sr-text-success { color: green; }
.sr-text-warning-orange { color: #fd7e14; }
.sr-text-ads-muted { color: var(--ads-muted); }
.sr-ads-muted-small { font-size: 12.5px; color: var(--ads-muted); }
.sr-ads-box { border: 1px solid var(--ads-border); border-radius: 14px; }
.sr-danger-chip { background-color: red; color: white; }
.sr-media-200-auto { width: 200px; height: auto; }
.sr-img-fluid { max-width: 100%; height: auto; }
.sr-inline-flex { display: inline-flex; }
.sr-inline-block { display: inline-block; }
.sr-pre-wrap-editor { white-space: pre-wrap; min-height: 220px; }
.sr-code-block-dark { white-space: pre-wrap; background: #111827; color: #e5e7eb; border-radius: 8px; font-size: 12px; line-height: 1.45; }
.sr-max-260 { max-width: 260px; }
.sr-max-320 { max-width: 320px; }
.sr-grid-one { grid-template-columns: 1fr; }
.sr-width-60 { width: 60px; }
.sr-minw-280 { min-width: 280px; }
.sr-margin-0 { margin: 0; }
.sr-fs-26 { font-size: 26px; }
.sr-ads-section-label { font-size: 13px; font-weight: 580; text-transform: uppercase; letter-spacing: .07em; color: var(--ads-muted); margin: 0 0 16px; }
.sr-muted-078 { font-size: .78rem; color: var(--sr-muted); }
.sr-stat-date-value { font-size: 14px; font-weight: 600; margin-top: 4px; }
.sr-maxw-140 { max-width: 140px; }
.sr-w-44 { width: 44px; }
.sr-w-82 { width: 82px; }
.sr-minw-210 { min-width: 210px; }
.sr-cron-run-card { margin-top: 24px; }
.sr-cron-run-card__header { padding: 14px 16px; border-bottom: 1px solid var(--ads-border); background: var(--ads-surface-alt); }
.sr-cron-run-card__title { font-size: 13px; font-weight: 580; text-transform: uppercase; letter-spacing: .07em; color: var(--ads-muted); margin: 0 0 2px; }
.sr-cron-run-card__copy { font-size: 12px; color: var(--ads-muted); margin: 0; }
.sr-ads-muted-13 { font-size: 13px; color: var(--ads-muted); }
.sr-maxw-420 { max-width: 420px; }
.sr-cron-output { white-space: pre-wrap; max-height: 140px; overflow: auto; }


/* Consolidated legacy helpers from migrated inline CSS */
.alert {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  max-width: none;
  padding: 14px 16px;
  margin: 0 0 16px;
  border: 1px solid #e5e7eb;
  border-left: 4px solid #6b7280;
  border-radius: 8px;
  background-color: #f8fafc;
  color: #111827;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
  line-height: 1.45;
}

.alert::before {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  margin-top: 1px;
  color: #fff;
  font-size: 13px;
  font-weight: 448;
  content: "i";
  background: #6b7280;
}

.alert-success {
  border-color: #bbf7d0;
  border-left-color: #15803d;
  background: #f0fdf4;
  color: #14532d;
}

.alert-success::before {
  content: "\2713";
  background: #15803d;
}

.alert-danger {
  border-color: #fecaca;
  border-left-color: #b91c1c;
  background: #fef2f2;
  color: #7f1d1d;
}

.alert-danger::before {
  content: "!";
  background: #b91c1c;
}

.alert-warning {
  border-color: #fde68a;
  border-left-color: #b45309;
  background: #fffbeb;
  color: #78350f;
}

.alert-warning::before {
  content: "!";
  background: #b45309;
}

.alert-info {
  border-color: #e8d1bf;
  border-left-color: #9E3737;
  background: #fbf4ef;
  color: #5a2f17;
}

.alert-info::before {
  background: #9E3737;
}

.global-pagination {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin-top: 10px;
}

.global-pagination__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.global-pagination__link,
.global-pagination > a,
.global-pagination > span,
.global-pagination__list > a,
.global-pagination__list .page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid #d6dbe3;
  background-color: #fff;
  color: #333b48;
  text-decoration: none;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.global-pagination__link:hover,
.global-pagination__link:focus,
.global-pagination > a:hover,
.global-pagination > a:focus,
.global-pagination__list > a:hover,
.global-pagination__list > a:focus,
.global-pagination__list .page-link:hover,
.global-pagination__list .page-link:focus {
  background-color: #fff1f1;
  border-color: #d81b2a;
  color: #8b0f1a;
  text-decoration: none;
}

.global-pagination__link--active,
.global-pagination__link[aria-current="page"],
.global-pagination > span.active,
.global-pagination__list > a.active,
.global-pagination__list .page-item.active .page-link {
  background-color: #8b0f1a;
  border-color: #8b0f1a;
  color: #fff;
}

.global-pagination__link--active:hover,
.global-pagination__link[aria-current="page"]:hover,
.global-pagination > span.active:hover,
.global-pagination__list > a.active:hover,
.global-pagination__list .page-item.active .page-link:hover {
  background-color: #6f0c15;
  border-color: #6f0c15;
  color: #fff;
}

.global-pagination__link--disabled,
.global-pagination__link--disabled:hover,
.global-pagination__link.disabled,
.global-pagination__link.disabled:hover,
.global-pagination__link[aria-disabled="true"],
.global-pagination__link[aria-disabled="true"]:hover {
  opacity: 0.42;
  pointer-events: none;
}

.global-pagination__link--ellipsis,
.global-pagination__link--ellipsis:hover,
.global-pagination__list .page-item.disabled .page-link,
.global-pagination__list .page-item.disabled .page-link:hover {
  min-width: 28px;
  border-color: transparent;
  background: transparent;
  color: #777f8c;
  box-shadow: none;
  cursor: default;
}

.global-pagination__info {
  align-self: center;
  padding: 0 8px;
  color: #667085;
  font-size: 12.5px;
  font-weight: 700;
}

@media (max-width: 575.98px) {
  .global-pagination,
  .global-pagination__list {
    justify-content: center;
  }

  .global-pagination__link,
  .global-pagination > a,
  .global-pagination > span,
  .global-pagination__list > a,
  .global-pagination__list .page-link {
    min-width: 32px;
    min-height: 32px;
    padding: 6px 9px;
    font-size: 12px;
  }
}

/* Shared Bootstrap component polish */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: var(--sr-btn-height, 40px);
  padding: 9px 16px;
  border-radius: var(--sr-btn-radius, 8px);
  font-size: var(--sr-btn-font, 14px);
  font-weight: var(--sr-btn-weight, 700);
  line-height: 1.2;
  text-decoration: none;
  box-shadow: none;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.btn:hover,
.btn:focus {
  text-decoration: none;
}

.btn:focus,
.btn:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(123, 2, 2, .16);
}

.btn:active {
  transform: translateY(1px);
}

.btn:disabled,
.btn.disabled {
  cursor: not-allowed;
  opacity: .56;
  transform: none;
  box-shadow: none;
}

.btn-sm {
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 7px;
  font-size: 12.5px;
}

.btn-lg {
  min-height: 46px;
  padding: 11px 20px;
  font-size: 15px;
}

.btn-primary,
.main-btn,
.co-main-btn {
  border-color: var(--sr-primary, #7b0202);
  background: var(--sr-primary, #7b0202);
  color: #fff;
}

.btn-primary:hover,
.btn-primary:focus,
.main-btn:hover,
.main-btn:focus,
.co-main-btn:hover,
.co-main-btn:focus {
  border-color: var(--sr-primary-hover, #5e0101);
  background: var(--sr-primary-hover, #5e0101);
  color: #fff;
}

.btn-secondary,
.btn-light {
  border-color: #d6dbe3;
  background: #fff;
  color: #253044;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-light:hover,
.btn-light:focus {
  border-color: #b9c2cf;
  background: #f8fafc;
  color: #111827;
}

.btn-success {
  border-color: #15803d;
  background: #15803d;
  color: #fff;
}

.btn-success:hover,
.btn-success:focus {
  border-color: #166534;
  background: #166534;
  color: #fff;
}

.btn-danger {
  border-color: #b91c1c;
  background: #b91c1c;
  color: #fff;
}

.btn-danger:hover,
.btn-danger:focus {
  border-color: #991b1b;
  background: #991b1b;
  color: #fff;
}

.btn-warning {
  border-color: #d97706;
  background: #d97706;
  color: #111827;
}

.btn-warning:hover,
.btn-warning:focus {
  border-color: #b45309;
  background: #b45309;
  color: #111827;
}

.btn-info {
  border-color: #7a4b2a;
  background: #7a4b2a;
  color: #fff;
}

.btn-info:hover,
.btn-info:focus {
  border-color: #9E3737;
  background: #9E3737;
  color: #fff;
}

.btn-dark {
  border-color: #111827;
  background: #111827;
  color: #fff;
}

.btn-dark:hover,
.btn-dark:focus {
  border-color: #020617;
  background: #020617;
  color: #fff;
}

.btn-outline-primary {
  border-color: var(--sr-primary, #7b0202);
  background: #fff;
  color: var(--sr-primary, #7b0202);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-check:checked + .btn-outline-primary {
  border-color: var(--sr-primary, #7b0202);
  background: var(--sr-primary, #7b0202);
  color: #fff;
}

.btn-outline-secondary,
.btn-outline-dark {
  border-color: #cbd5e1;
  background: #fff;
  color: #334155;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-dark:hover,
.btn-outline-dark:focus {
  border-color: #334155;
  background: #334155;
  color: #fff;
}

.btn-outline-success {
  border-color: #15803d;
  background: #fff;
  color: #15803d;
}

.btn-outline-success:hover,
.btn-outline-success:focus {
  background: #15803d;
  color: #fff;
}

.btn-outline-danger {
  border-color: #b91c1c;
  background: #fff;
  color: #b91c1c;
}

.btn-outline-danger:hover,
.btn-outline-danger:focus {
  background: #b91c1c;
  color: #fff;
}

.btn-outline-warning {
  border-color: #d97706;
  background: #fff;
  color: #92400e;
}

.btn-outline-warning:hover,
.btn-outline-warning:focus {
  background: #d97706;
  color: #111827;
}

.btn-outline-info {
  border-color: #7a4b2a;
  background: #fff;
  color: #7a4b2a;
}

.btn-outline-info:hover,
.btn-outline-info:focus {
  background: #7a4b2a;
  color: #fff;
}

.dropdown-menu {
  padding: 8px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 38px rgba(15, 23, 42, .14);
}

.dropdown-item {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 8px 10px;
  border-radius: 7px;
  color: #253044;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.25;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background: #fff1f1;
  color: #7b0202;
}

.dropdown-item.active,
.dropdown-item:active,
.bootstrap-select .dropdown-item.active,
.bootstrap-select .dropdown-item:active {
  background: #7b0202;
  color: #fff;
}

.dropdown-divider {
  margin: 8px 0;
  border-top-color: #e5e7eb;
}

.dropdown-header {
  padding: 7px 10px 5px;
  color: #64748b;
  font-size: 11px;
  font-weight: 448;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 22px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 448;
  line-height: 1;
}

.badge-primary,
.bg-primary {
  background-color: #7b0202 !important;
  color: #fff !important;
}

.badge-secondary,
.bg-secondary {
  background-color: #eef2f7 !important;
  color: #334155 !important;
}

.badge-success,
.bg-success {
  background-color: #dcfce7 !important;
  color: #166534 !important;
}

.badge-danger,
.bg-danger {
  background-color: #fee2e2 !important;
  color: #991b1b !important;
}

.badge-warning,
.bg-warning {
  background-color: #940707;
  color: #fff;
}

.badge-info,
.bg-info {
  background-color: #dbeafe !important;
  color: #9E3737 !important;
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 16px 0 0;
}

.pagination .page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid #d6dbe3;
  border-radius: 6px;
  background: #fff;
  color: #333b48;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  box-shadow: none;
}

.pagination .page-link:hover,
.pagination .page-link:focus {
  border-color: #d81b2a;
  background: #fff1f1;
  color: #8b0f1a;
  box-shadow: none;
}

.pagination .page-item.active .page-link {
  border-color: #8b0f1a;
  background: #8b0f1a;
  color: #fff;
}

.pagination .page-item.disabled .page-link {
  border-color: #e5e7eb;
  background: #f8fafc;
  color: #94a3b8;
  cursor: not-allowed;
}

.nav-tabs {
  gap: 6px;
  border-bottom: 1px solid #e5e7eb;
}

.nav-tabs .nav-link,
.nav-pills .nav-link {
  border-radius: 8px 8px 0 0;
  color: #475569;
  font-weight: 700;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus,
.nav-pills .nav-link:hover,
.nav-pills .nav-link:focus {
  border-color: transparent;
  background: #f8fafc;
  color: #7b0202;
}

.nav-tabs .nav-link.active {
  border-color: #e5e7eb #e5e7eb #fff;
  background: #fff;
  color: #7b0202;
}

.nav-pills {
  gap: 6px;
}

.nav-pills .nav-link {
  border-radius: 8px;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  background: #7b0202;
  color: #fff;
}

.form-check {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  min-height: 22px;
}

.form-check .form-check-input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  border: 1px solid #b8c1cf;
  box-shadow: none;
}

.form-check-input:checked {
  border-color: #7b0202;
  background-color: #7b0202;
}

.form-check-input:focus {
  border-color: #7b0202;
  box-shadow: 0 0 0 3px rgba(123, 2, 2, .14);
}

.form-check-input:disabled,
.form-check-input:disabled ~ .form-check-label {
  cursor: not-allowed;
  opacity: .58;
}

.form-switch .form-check-input {
  width: 38px;
  height: 22px;
  border-radius: 999px;
}

.form-check-label {
  color: #334155;
  line-height: 1.45;
}

.input-group {
  align-items: stretch;
}

.input-group-text {
  min-height: 42px;
  border-color: #d6dbe3;
  background: #f8fafc;
  color: #475569;
  font-size: 13px;
  font-weight: 700;
}

.input-group > .form-control,
.input-group > .form-select {
  min-width: 0;
}

.input-group > .btn {
  min-height: 42px;
}

.card {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(15, 23, 42, .06);
}

.card-header {
  border-bottom: 1px solid #e5e7eb;
  background: #f8fafc;
  color: #111827;
  font-weight: 448;
}

.card-footer {
  border-top: 1px solid #e5e7eb;
  background: #f8fafc;
}

.card-title {
  color: #111827;
  font-weight: 448;
}

.card-text {
  color: #475569;
}

.accordion-item {
  border: 1px solid #e5e7eb;
  background: #fff;
}

.accordion-button {
  color: #111827;
  background: #fff;
  font-weight: 448;
  box-shadow: none;
}

.accordion-button:not(.collapsed) {
  color: #7b0202;
  background: #fff7f7;
  box-shadow: inset 0 -1px 0 #f3d4d4;
}

.accordion-button:focus {
  border-color: #7b0202;
  box-shadow: 0 0 0 3px rgba(123, 2, 2, .14);
}

.accordion-body {
  color: #475569;
  line-height: 1.6;
}

/* Source: public_html/admin/chats/index.php */
.sr-chat-page {
            --sr-red: #8b0f1a;
            --sr-red-dark: #5f0811;
            --sr-red-soft: #fff1f2;
            --sr-bg: #f8f8f9;
            --sr-card: #ffffff;
            --sr-text: #151515;
            --sr-muted: #737373;
            --sr-border: #e7e7e7;
            --sr-green: #047857;
            --sr-amber: #a16207;
            --sr-gray: #525252;
        }
        .sr-chat-page {
            background: var(--sr-bg);
        }

        .sr-chat-page {
            padding: 22px 0 36px;
        }

        .sr-chat-shell {
            max-width: 1420px;
            margin: 0 auto;
        }

        .sr-chat-hero {
            border-radius: 18px;
            padding: 26px;
            background: linear-gradient(135deg, var(--sr-red-dark), var(--sr-red));
            color: #fff;
        }

        .sr-chat-hero-content {
            display: flex;
            justify-content: space-between;
            gap: 20px;
        }

        .sr-chat-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 14px;
            padding: 7px 11px;
            border-radius: 999px;
            background: rgba(255, 255, 255, .14);
            font-size: .8rem;
        }

        .sr-chat-hero h1 {
            margin: 0;
            color: #fff;
            font-size: clamp(1.7rem, 2.6vw, 2.6rem);
            letter-spacing: 0;
        }

        .sr-chat-hero p {
            margin: 10px 0 0;
            max-width: 720px;
            color: rgba(255, 255, 255, .82);
            line-height: 1.6;
        }

        .sr-chat-hero-actions {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            justify-content: flex-end;
            flex-shrink: 0;
        }

        .sr-chat-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-height: 40px;
            border-radius: 10px;
            padding: 9px 14px;
            border: 1px solid transparent;
            text-decoration: none;
        }

        .sr-chat-btn:hover {
            text-decoration: none;
        }

        .sr-chat-btn-light {
            background: #fff;
            color: var(--sr-red-dark);
        }

        .sr-chat-btn-ghost {
            background: rgba(255, 255, 255, .12);
            color: #fff;
            border-color: rgba(255, 255, 255, .22);
        }

        .sr-chat-btn-primary {
            background: var(--sr-red);
            color: #fff;
        }

        .sr-chat-btn-primary:hover {
            background: var(--sr-red-dark);
            color: #fff;
        }

        .sr-chat-stats {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 12px;
            margin-top: 18px;
        }

        .sr-chat-stat {
            padding: 15px;
            border-radius: 14px;
            background: rgba(255, 255, 255, .12);
        }

        .sr-chat-stat span {
            display: block;
            color: rgba(255, 255, 255, .76);
            font-size: .76rem;
            text-transform: uppercase;
            letter-spacing: .05em;
        }

        .sr-chat-stat strong {
            display: block;
            margin-top: 6px;
            font-size: 1.7rem;
            line-height: 1;
        }

        .sr-chat-panel {
            margin-top: 18px;
            overflow: hidden;
            border: 1px solid var(--sr-border);
            border-radius: 18px;
            background: var(--sr-card);
        }

        .sr-chat-toolbar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            padding: 16px;
            border-bottom: 1px solid var(--sr-border);
        }

        .sr-chat-tabs {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
        }

        .sr-chat-tabs a {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            padding: 9px 13px;
            border-radius: 999px;
            background: #f3f3f3;
            color: #333;
            font-size: .86rem;
            text-decoration: none;
        }

        .sr-chat-tabs a:hover {
            background: #ececec;
            color: var(--sr-text);
            text-decoration: none;
        }

        .sr-chat-tabs a.active {
            background: var(--sr-red);
            color: #fff;
        }

        .sr-chat-tab-count {
            min-width: 21px;
            height: 21px;
            padding: 0 7px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            background: rgba(255, 255, 255, .22);
            font-size: .74rem;
        }

        .sr-chat-tabs a:not(.active) .sr-chat-tab-count {
            background: #fff;
            color: #555;
        }

        .sr-chat-search-wrap {
            position: relative;
            width: min(340px, 100%);
        }

        .sr-chat-search-wrap i {
            position: absolute;
            left: 14px;
            top: 50%;
            transform: translateY(-50%);
            color: #aaa;
        }

        .sr-chat-search {
            width: 100%;
            min-height: 40px;
            border-radius: 999px;
            border: 1px solid var(--sr-border);
            background: #fff;
            padding: 9px 14px 9px 39px;
            color: var(--sr-text);
            outline: none;
        }

        .sr-chat-search:focus {
            border-color: var(--sr-red);
        }

        .sr-chat-list {
            display: grid;
            gap: 10px;
            padding: 14px;
        }

        .sr-chat-room {
            display: grid;
            grid-template-columns: minmax(240px, 1.2fr) minmax(220px, 1.5fr) 150px 105px 56px;
            gap: 16px;
            align-items: center;
            padding: 15px;
            border: 1px solid var(--sr-border);
            border-radius: 14px;
            background: #fff;
            cursor: pointer;
        }

        .sr-chat-room:hover {
            border-color: #d7b0b5;
            background: #fffafa;
        }

        .sr-chat-room:focus-visible {
            outline: 3px solid rgba(139, 15, 26, .28);
            outline-offset: 2px;
        }

        .sr-chat-person {
            display: flex;
            align-items: center;
            gap: 12px;
            min-width: 0;
        }

        .sr-chat-avatar {
            width: 44px;
            height: 44px;
            flex-shrink: 0;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 12px;
            background: var(--sr-red-soft);
            color: var(--sr-red);
        }

        .sr-chat-name {
            min-width: 0;
        }

        .sr-chat-name strong {
            display: block;
            color: var(--sr-text);
            font-size: .96rem;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .sr-chat-name small {
            display: block;
            margin-top: 2px;
            color: var(--sr-muted);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .sr-chat-preview {
            min-width: 0;
            color: #333;
        }

        .sr-chat-preview small {
            display: block;
            margin-bottom: 2px;
            color: var(--sr-muted);
            font-size: .7rem;
            text-transform: uppercase;
            letter-spacing: .04em;
        }

        .sr-chat-preview span {
            display: block;
            font-size: .88rem;
            line-height: 1.45;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .sr-chat-badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            width: fit-content;
            border-radius: 999px;
            padding: 6px 10px;
            font-size: .76rem;
            white-space: nowrap;
        }

        .sr-status-waiting {
            background: #fef3c7;
            color: var(--sr-amber);
        }

        .sr-status-active {
            background: #dcfce7;
            color: var(--sr-green);
        }

        .sr-status-resolved,
        .sr-status-muted {
            background: #f1f1f1;
            color: var(--sr-gray);
        }

        .sr-chat-unread {
            min-width: 32px;
            background: var(--sr-red-soft);
            color: var(--sr-red);
        }

        .sr-chat-unread-zero {
            background: #f2f2f2;
            color: #999;
        }

        .sr-chat-date {
            color: var(--sr-muted);
            font-size: .84rem;
            white-space: nowrap;
        }

        .sr-chat-open {
            justify-self: end;
        }

        .sr-chat-empty {
            padding: 52px 20px;
            text-align: center;
        }

        .sr-chat-empty-icon {
            width: 68px;
            height: 68px;
            margin-bottom: 16px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 18px;
            background: var(--sr-red-soft);
            color: var(--sr-red);
            font-size: 1.6rem;
        }

        .sr-chat-empty h3 {
            margin: 0;
            color: var(--sr-text);
        }

        .sr-chat-empty p {
            max-width: 460px;
            margin: 8px auto 0;
            color: var(--sr-muted);
            line-height: 1.6;
        }

        .sr-chat-pagination {
            display: flex;
            justify-content: center;
            padding: 4px 14px 16px;
        }

        .sr-chat-pagination .global-pagination,
        .sr-chat-pagination .global-pagination__list {
            justify-content: center;
            margin-top: 0;
        }

        .sr-live-toast {
            position: fixed;
            right: 22px;
            bottom: 22px;
            z-index: 100;
            display: none;
            max-width: 350px;
            gap: 11px;
            padding: 15px;
            border-radius: 14px;
            background: var(--sr-red-dark);
            color: #fff;
        }

        .sr-live-toast.show {
            display: flex;
        }

        .sr-live-toast i {
            margin-top: 3px;
            color: #fecdd3;
        }

        .sr-live-toast strong {
            display: block;
            margin-bottom: 3px;
            font-size: .94rem;
        }

        .sr-live-toast span {
            color: rgba(255, 255, 255, .78);
            font-size: .85rem;
            line-height: 1.45;
        }

        .sr-live-toast a {
            color: #fff;
            text-decoration: underline;
        }

        .sr-chat-service-warning {
            display: none;
            align-items: flex-start;
            gap: 10px;
            margin-bottom: 14px;
            padding: 12px 14px;
            border: 1px solid #f59e0b;
            border-radius: 10px;
            background: #fffbeb;
            color: #92400e;
            font-size: .92rem;
            line-height: 1.45;
        }

        .sr-chat-service-warning.show {
            display: flex;
        }

        .sr-chat-service-warning i {
            margin-top: 2px;
            flex-shrink: 0;
        }

        @media (max-width: 1199px) {
            .sr-chat-room {
                grid-template-columns: 1fr 1fr;
            }

            .sr-chat-open {
                justify-self: start;
            }
        }

        @media (max-width: 767px) {
            .sr-chat-page {
                padding: 16px 0 30px;
            }

            .sr-chat-hero {
                padding: 20px;
            }

            .sr-chat-hero-content {
                display: block;
            }

            .sr-chat-hero-actions {
                justify-content: flex-start;
                margin-top: 16px;
            }

            .sr-chat-stats {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .sr-chat-toolbar {
                align-items: stretch;
                flex-direction: column;
            }

            .sr-chat-search-wrap {
                width: 100%;
            }

            .sr-chat-room {
                grid-template-columns: 1fr;
                gap: 11px;
            }

            .sr-chat-open {
                justify-self: stretch;
                display: flex;
                gap: 8px;
            }

            .sr-chat-open .sr-chat-btn {
                flex: 1;
            }
        }

        @media (max-width: 480px) {
            .sr-chat-stats {
                grid-template-columns: 1fr;
            }
        }

        .night-mode body,
        .night-mode .sr-chat-page {
            background: #121212;
        }

        .night-mode .sr-chat-panel,
        .night-mode .sr-chat-room {
            background: #1b1b1b;
            border-color: #2a2a2a;
        }

        .night-mode .sr-chat-room:hover {
            background: #201719;
            border-color: #4a252b;
        }

        .night-mode .sr-chat-name strong,
        .night-mode .sr-chat-preview,
        .night-mode .sr-chat-empty h3 {
            color: #f5f5f5;
        }

        .night-mode .sr-chat-name small,
        .night-mode .sr-chat-preview small,
        .night-mode .sr-chat-date,
        .night-mode .sr-chat-empty p {
            color: #aaa;
        }

        .night-mode .sr-chat-tabs a {
            background: #252525;
            color: #ddd;
        }

        .night-mode .sr-chat-tabs a.active {
            background: var(--sr-red);
            color: #fff;
        }

        .night-mode .sr-chat-tabs a:not(.active) .sr-chat-tab-count {
            background: #333;
            color: #ddd;
        }

        .night-mode .sr-chat-search {
            background: #202020;
            color: #fff;
            border-color: #333;
        }

        .night-mode .sr-chat-search:focus {
            border-color: var(--sr-red);
        }

        .night-mode .sr-chat-avatar,
        .night-mode .sr-chat-empty-icon,
        .night-mode .sr-chat-unread {
            background: rgba(139, 15, 26, .18);
            color: #fb7185;
        }

/* Source: public_html/admin/chats/room.php */
.sr-room-page {
            --sr-red: #8b0f1a;
            --sr-red-dark: #5f0811;
            --sr-red-soft: #fff1f2;
            --sr-bg: #f8f8f9;
            --sr-card: #ffffff;
            --sr-text: #151515;
            --sr-muted: #737373;
            --sr-border: #e7e7e7;
            --sr-green: #047857;
            --sr-amber: #a16207;
            --sr-gray: #525252;
        }
        .sr-room-page {
            background: var(--sr-bg);
        }

        .sr-room-page {
            padding: 12px 0 calc(128px + env(safe-area-inset-bottom, 0px));
        }

        .sr-room-shell {
            max-width: 1480px;
            margin: 0 auto;
        }

        .sr-room-topbar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin-bottom: 12px;
            position: relative;
        }

        .sr-room-back {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            min-width: 0;
            color: var(--sr-red);
            text-decoration: none;
        }

        .sr-room-back:hover {
            color: var(--sr-red-dark);
            text-decoration: none;
        }

        .sr-room-back span {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .sr-room-actions {
            display: none;
            gap: 10px;
            flex-wrap: wrap;
            justify-content: flex-end;
        }

        .sr-room-actions-menu {
            position: relative;
            flex-shrink: 0;
        }

        .sr-room-actions-menu summary {
            list-style: none;
        }

        .sr-room-actions-menu summary::-webkit-details-marker {
            display: none;
        }

        .sr-room-actions-menu-panel {
            position: absolute;
            right: 0;
            top: calc(100% + 8px);
            z-index: 40;
            display: grid;
            gap: 8px;
            min-width: min(280px, calc(100vw - 24px));
            padding: 10px;
            border: 1px solid var(--sr-border);
            border-radius: 12px;
            background: #fff;
            box-shadow: 0 18px 45px rgba(15, 23, 42, .16);
        }

        .sr-room-actions-menu-panel form,
        .sr-room-actions-menu-panel button {
            width: 100%;
        }

        .sr-room-actions-menu-panel button {
            justify-content: center;
        }

        .sr-room-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-height: 40px;
            padding: 9px 14px;
            border-radius: 10px;
            border: 1px solid var(--sr-border);
            background: #fff;
            color: var(--sr-text);
            text-decoration: none;
            cursor: pointer;
        }

        .sr-room-btn:hover {
            background: #fafafa;
            color: var(--sr-text);
            text-decoration: none;
        }

        .sr-room-btn-primary {
            border-color: var(--sr-red);
            background: var(--sr-red);
            color: #fff;
        }

        .sr-room-btn-primary:hover {
            background: var(--sr-red-dark);
            color: #fff;
        }

        .sr-room-btn-soft {
            border-color: #f3c4ca;
            background: var(--sr-red-soft);
            color: var(--sr-red);
        }

        .sr-room-btn-danger {
            border-color: #fecaca;
            background: #fef2f2;
            color: #b91c1c;
        }

        .sr-room-btn-danger:hover {
            background: #fee2e2;
            color: #991b1b;
        }

        .sr-room-card {
            border: 1px solid var(--sr-border);
            border-radius: 18px;
            background: var(--sr-card);
            overflow: hidden;
        }

        .sr-room-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            padding: 18px;
            border-bottom: 1px solid var(--sr-border);
            background: linear-gradient(135deg, var(--sr-red-dark), var(--sr-red));
            color: #fff;
        }

        .sr-room-guest {
            display: flex;
            align-items: center;
            gap: 14px;
            min-width: 0;
        }

        .sr-room-avatar {
            width: 54px;
            height: 54px;
            border-radius: 14px;
            background: rgba(255, 255, 255, .15);
            color: #fff;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 1.05rem;
            flex-shrink: 0;
        }

        .sr-room-guest h1 {
            margin: 0;
            color: #fff;
            font-size: clamp(1.35rem, 2vw, 2rem);
            letter-spacing: 0;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .sr-room-guest p {
            margin: 5px 0 0;
            color: rgba(255, 255, 255, .78);
            overflow-wrap: anywhere;
        }

        .sr-room-status {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            padding: 7px 11px;
            border-radius: 999px;
            font-size: .78rem;
            white-space: nowrap;
        }

        .sr-room-status-waiting {
            background: #fef3c7;
            color: var(--sr-amber);
        }

        .sr-room-status-active {
            background: #dcfce7;
            color: var(--sr-green);
        }

        .sr-room-status-resolved,
        .sr-room-status-muted {
            background: #f1f1f1;
            color: var(--sr-gray);
        }

        .sr-room-layout {
            display: grid;
            grid-template-columns: 1fr;
            gap: 12px;
            padding: 12px;
        }

        .sr-room-bot-context {
            margin: 0 12px 12px;
            padding: 12px;
            border: 1px solid rgba(100, 0, 0, .12);
            border-radius: 8px;
            background: #fffaf5;
        }

        .sr-room-bot-context summary {
            cursor: pointer;
            font-weight: 700;
            color: #1f2937;
        }

        .sr-room-bot-context summary small {
            display: block;
            margin-top: 2px;
            color: #6b7280;
            font-weight: 554;
        }

        .sr-room-bot-context-list {
            display: grid;
            gap: 10px;
            margin-top: 12px;
        }

        .sr-room-bot-context-item {
            padding: 10px;
            border-radius: 8px;
            background: #fff;
            border: 1px solid rgba(0,0,0,.06);
        }

        .sr-room-bot-context-item strong {
            display: block;
            margin-bottom: 4px;
            font-size: .78rem;
            color: #640000;
        }

        .sr-room-bot-context-item p {
            margin: 0;
            color: #374151;
            font-size: .86rem;
            line-height: 1.45;
        }

        .sr-room-bot-context-links {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            margin-top: 8px;
        }

        .sr-room-bot-context-links a {
            display: inline-flex;
            align-items: center;
            min-height: 28px;
            padding: 4px 9px;
            border-radius: 6px;
            background: rgba(100, 0, 0, .08);
            color: #640000;
            font-size: .78rem;
            font-weight: 700;
            text-decoration: none;
        }

        .sr-room-chat {
            min-width: 0;
            display: flex;
            flex-direction: column;
            border: 1px solid var(--sr-border);
            border-radius: 16px;
            background: #fff;
            overflow: hidden;
        }

        .sr-room-chat-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding: 12px;
            border-bottom: 1px solid var(--sr-border);
        }

        .sr-room-chat-head strong {
            color: var(--sr-text);
            font-size: .98rem;
        }

        .sr-room-chat-head small {
            color: var(--sr-muted);
        }

        .admin-chat-messages {
            height: auto;
            min-height: 220px;
            max-height: min(58vh, 640px);
            overflow-y: auto;
            padding: 12px;
            display: flex;
            flex-direction: column;
            gap: 12px;
            background: #fbfbfb;
        }

        .sr-room-pagination {
            display: flex;
            justify-content: center;
            padding: 12px 14px;
            border-top: 1px solid var(--sr-border);
            background: #fff;
        }

        .sr-room-pagination .global-pagination,
        .sr-room-pagination .global-pagination__list {
            justify-content: center;
            margin-top: 0;
        }

        .acm-msg {
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            width: auto;
            max-width: 92%;
            min-width: 0;
        }

        .acm-msg.from-admin {
            align-self: flex-end;
            align-items: flex-end;
        }

        .acm-msg.from-user {
            align-self: flex-start;
        }

        .acm-msg.system-msg {
            align-self: center;
            align-items: center;
            max-width: 90%;
        }

        .acm-deleted {
            opacity: .68;
        }

        .acm-bubble {
            display: block;
            min-height: 0;
            width: auto;
            max-width: 100%;
            padding: 10px 13px;
            border-radius: 15px;
            background: #f1f1f1;
            color: var(--sr-text);
            line-height: 1.45;
            text-align: left;
            vertical-align: top;
            white-space: pre-wrap;
            overflow-wrap: anywhere;
        }

        .sr-admin-msg-bubble {
            display: inline-block !important;
            width: auto !important;
            min-width: 0;
            max-width: min(100%, 640px);
            min-height: 0 !important;
            padding: 9px 13px;
            font-size: .88rem;
            line-height: 1.45;
            text-align: start !important;
            align-content: flex-start;
            justify-content: flex-start;
        }

        .from-user .acm-bubble {
            border-top-left-radius: 5px;
        }

        .from-admin .acm-bubble {
            border-top-right-radius: 5px;
            background: var(--sr-red);
            color: #fff;
        }

        .system-msg .acm-bubble {
            background: #fef3c7;
            color: #92400e;
            font-size: .88rem;
        }

        .acm-meta {
            margin-top: 5px;
            color: var(--sr-muted);
            font-size: .75rem;
        }

        .from-admin .acm-meta {
            text-align: right;
        }

        .acm-actions {
            display: flex;
            gap: 6px;
            position: absolute;
            top: 6px;
            left: calc(100% + 8px);
            margin-top: 0;
            justify-content: flex-end;
            flex-wrap: wrap;
            opacity: 0;
            pointer-events: none;
            transition: opacity .14s ease;
        }

        .from-admin .acm-actions {
            right: calc(100% + 8px);
            left: auto;
        }

        .system-msg .acm-actions {
            position: static;
            margin-top: 6px;
            opacity: 1;
            pointer-events: auto;
        }

        .acm-msg:hover .acm-actions,
        .acm-msg:focus-within .acm-actions,
        .acm-msg.acm-actions-open .acm-actions {
            opacity: 1;
            pointer-events: auto;
        }

        .acm-actions button {
            border: 1px solid var(--sr-border);
            background: #fff;
            width: 30px;
            height: 30px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            padding: 0;
            font-size: .78rem;
            color: #444;
        }

        .acm-actions button:hover {
            border-color: #d7b0b5;
            color: var(--sr-red);
        }

        .acm-translation,
        .admin-translation-composer {
            margin-top: 8px;
            padding: 10px 12px;
            border: 1px solid var(--sr-border);
            border-radius: 8px;
            background: #fff;
            color: var(--sr-text);
        }

        .acm-translation strong,
        .admin-translation-preview strong {
            display: block;
            font-size: .76rem;
            color: var(--sr-muted);
            margin-bottom: 4px;
        }

        .acm-translation p,
        .admin-translation-composer p,
        .admin-translation-preview p {
            margin: 0;
            font-size: .88rem;
            line-height: 1.45;
            overflow-wrap: anywhere;
        }

        .admin-translation-composer {
            margin-top: 10px;
        }

        .admin-translation-actions {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
            margin-top: 9px;
        }

        .admin-translation-language {
            display: grid;
            gap: 4px;
            min-width: min(100%, 220px);
            color: var(--sr-muted);
            font-size: .76rem;
            font-weight: 700;
        }

        .admin-translation-language select {
            min-height: 40px;
            border: 1px solid var(--sr-border);
            border-radius: 10px;
            background: #fff;
            color: var(--sr-text);
            padding: 8px 10px;
        }

        .admin-translation-preview {
            margin-top: 9px;
            padding-top: 9px;
            border-top: 1px solid var(--sr-border);
        }

        .acm-attachment,
        .acm-link-preview {
            display: flex;
            gap: 9px;
            align-items: center;
            margin-top: 9px;
            padding: 9px;
            border-radius: 11px;
            background: #fff;
            color: inherit;
            text-decoration: none;
            border: 1px solid rgba(0, 0, 0, .08);
        }

        .from-admin .acm-attachment,
        .from-admin .acm-link-preview {
            background: rgba(255, 255, 255, .14);
            border-color: rgba(255, 255, 255, .22);
        }

        .acm-attachment:hover,
        .acm-link-preview:hover {
            text-decoration: none;
        }

        .acm-attachment-image {
            display: block;
            padding: 0;
            overflow: hidden;
        }

        .acm-attachment-image img {
            display: block;
            max-width: 260px;
            max-height: 180px;
            object-fit: cover;
        }

        .acm-attachment-image span {
            display: block;
            padding: 7px 9px;
        }

        .acm-link-preview img {
            width: 56px;
            height: 56px;
            object-fit: cover;
            border-radius: 8px;
            flex-shrink: 0;
        }

        .acm-link-preview strong,
        .acm-link-preview small {
            display: block;
        }

        .acm-link-preview small {
            opacity: .72;
            margin-top: 2px;
        }

        .admin-typing-indicator {
            display: none;
            padding: 10px 16px;
            border-top: 1px solid var(--sr-border);
            color: var(--sr-muted);
            font-size: .85rem;
            background: #fff;
        }

        .admin-selected-file {
            display: none;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin: 12px 14px 0;
            padding: 9px 11px;
            border: 1px solid #f3c4ca;
            border-radius: 10px;
            background: var(--sr-red-soft);
            color: var(--sr-red);
            font-size: .86rem;
        }

        .admin-selected-file button {
            border: 0;
            background: transparent;
            color: var(--sr-red);
            font-size: 1.15rem;
            line-height: 1;
        }

        .admin-composer {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            padding: 12px;
            background: #fff;
            border-top: 1px solid var(--sr-border);
        }

        .admin-composer textarea {
            flex: 1;
            flex-basis: 100%;
            order: -1;
            min-height: 44px;
            max-height: 150px;
            resize: vertical;
            border: 1px solid var(--sr-border);
            border-radius: 12px;
            padding: 10px 12px;
            outline: none;
        }

        .admin-composer textarea:focus {
            border-color: var(--sr-red);
        }

        .sr-room-side {
            display: grid;
            gap: 14px;
            align-content: start;
            grid-template-columns: 1fr;
        }

        .sr-room-side-card {
            border: 1px solid var(--sr-border);
            border-radius: 16px;
            background: #fff;
            padding: 16px;
        }

        .sr-room-side-card h2 {
            margin: 0 0 12px;
            color: var(--sr-text);
            font-size: .98rem;
        }

        .sr-room-info-list {
            display: grid;
            gap: 12px;
            margin: 0;
        }

        .sr-room-info-list div {
            min-width: 0;
        }

        .sr-room-info-list dt {
            color: var(--sr-muted);
            font-size: .72rem;
            text-transform: uppercase;
            letter-spacing: .05em;
        }

        .sr-room-info-list dd {
            margin: 3px 0 0;
            color: var(--sr-text);
            overflow-wrap: anywhere;
        }

        .sr-room-info-list dd small {
            display: block;
            margin-top: 3px;
            color: var(--sr-muted);
            font-size: .78rem;
        }

        .sr-room-side-actions {
            display: grid;
            gap: 10px;
        }

        .sr-room-side-actions form,
        .sr-room-side-actions button,
        .sr-room-side-actions a {
            width: 100%;
        }

        .sr-room-side-actions button,
        .sr-room-side-actions a {
            justify-content: center;
        }

        .acm-detail-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 9px 14px;
        }

        .acm-detail-grid dt {
            color: #444;
        }

        .acm-detail-grid dd {
            margin: 0;
            color: var(--sr-text);
            overflow-wrap: anywhere;
        }

        .acm-detail-content {
            max-height: 240px;
            overflow: auto;
            padding: 11px;
            border: 1px solid var(--sr-border);
            border-radius: 10px;
            background: #fafafa;
            white-space: pre-wrap;
        }

        @media (min-width: 768px) {
            .sr-room-page {
                padding: 22px 0 calc(96px + env(safe-area-inset-bottom, 0px));
            }

            .sr-room-topbar {
                gap: 16px;
                margin-bottom: 16px;
            }

            .sr-room-actions {
                display: flex;
            }

            .sr-room-actions-menu {
                display: none;
            }

            .sr-room-layout {
                gap: 16px;
                padding: 16px;
            }

            .sr-room-bot-context {
                margin: 0 16px 16px;
                padding: 14px;
            }

            .sr-room-chat-head {
                padding: 14px 16px;
            }

            .admin-chat-messages {
                max-height: min(62vh, 680px);
                min-height: 320px;
                padding: 16px;
            }

            .acm-msg {
                max-width: 78%;
            }

            .sr-admin-msg-bubble {
                max-width: min(100%, 620px);
            }

            .admin-composer {
                flex-wrap: nowrap;
                padding: 14px;
            }

            .admin-composer textarea {
                flex-basis: auto;
                order: 0;
            }

            .acm-detail-grid {
                grid-template-columns: 130px 1fr;
            }
        }

        @media (min-width: 768px) and (max-width: 1199px) {
            .sr-room-side {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        @media (min-width: 1200px) {
            .sr-room-layout {
                grid-template-columns: minmax(0, 1fr) 320px;
            }
        }

        @media (max-width: 767px) {
            .sr-room-topbar,
            .sr-room-header {
                align-items: center;
            }

            .admin-composer .sr-room-btn {
                flex: 1;
            }

            .acm-actions {
                position: static;
                margin-top: 6px;
                opacity: 1;
                pointer-events: auto;
            }

            .sr-room-header {
                flex-wrap: wrap;
            }

            .sr-room-guest {
                flex: 1 1 100%;
                min-width: 0;
            }

            .sr-room-status {
                margin-left: 68px;
            }
        }

        @media (max-width: 420px) {
            .sr-room-actions-menu-trigger {
                width: 42px;
                padding-right: 0;
                padding-left: 0;
            }

            .sr-room-actions-menu-label {
                display: none;
            }
        }

        .night-mode body,
        .night-mode .sr-room-page {
            background: #121212;
        }

        .night-mode .sr-room-card,
        .night-mode .sr-room-chat,
        .night-mode .sr-room-side-card,
        .night-mode .sr-room-actions-menu-panel,
        .night-mode .admin-composer,
        .night-mode .admin-typing-indicator {
            background: #1b1b1b;
            border-color: #2a2a2a;
        }

        .night-mode .admin-chat-messages {
            background: #151515;
        }

        .night-mode .sr-room-pagination {
            background: #1b1b1b;
            border-color: #2a2a2a;
        }

        .night-mode .acm-bubble {
            background: #252525;
            color: #f5f5f5;
        }

        .night-mode .from-admin .acm-bubble {
            background: var(--sr-red);
            color: #fff;
        }

        .night-mode .sr-room-chat-head strong,
        .night-mode .sr-room-side-card h2,
        .night-mode .sr-room-info-list dd,
        .night-mode .acm-detail-grid dd {
            color: #f5f5f5;
        }

        .night-mode .sr-room-chat-head small,
        .night-mode .sr-room-info-list dt,
        .night-mode .acm-meta {
            color: #aaa;
        }

        .night-mode .admin-composer textarea {
            background: #202020;
            border-color: #333;
            color: #fff;
        }

        .night-mode .admin-translation-language select {
            background: #202020;
            border-color: #333;
            color: #fff;
        }

        .night-mode .acm-actions button,
        .night-mode .sr-room-btn {
            background: #202020;
            border-color: #333;
            color: #eee;
        }

        .night-mode .sr-room-btn-primary {
            background: var(--sr-red);
            border-color: var(--sr-red);
            color: #fff;
        }

        .night-mode .sr-room-btn-soft,
        .night-mode .admin-selected-file {
            background: rgba(139, 15, 26, .18);
            border-color: #4a252b;
            color: #fb7185;
        }

        .night-mode .sr-room-btn-danger {
            background: rgba(239, 68, 68, .14);
            border-color: rgba(248, 113, 113, .35);
            color: #fca5a5;
        }

/* Source: public_html/admin/events/create_shorten_url.php */
.success-alert {
            background-color: orange;
            color: white;
            padding: 10px;
            border-radius: 5px;
            text-align: center;
        }

        .failure-alert {
            background-color: red;
            color: white;
            padding: 10px;
            border-radius: 5px;
            text-align: center;
        }

/* Source: public_html/admin/help-center/manage_faqs.php */
.ql-editor {
            min-height: 200px;
        }

/* Source: public_html/admin/admin_head.php */
.header,
    .header-inner,
    .showrave-head {
        min-height: 60px
    }

    .bg-showrave {
        background-color: #fff
    }

    .main-logo {
        width: 120px;
        height: 35px;
        display: block
    }

    .main-logo img {
        width: 120px;
        height: 35px;
        display: block;
        object-fit: contain
    }

    .main-logo .logo-inverse,
    .logo-inverse,
    .res-main-logo {
        display: none
    }

    .navbar-brand {
        min-height: 40px;
        display: inline-flex;
        align-items: center
    }

    .header-inner .right-header {
        margin-left: auto
    }

    .header-actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 10px;
        margin: 0;
        padding: 0;
        list-style: none
    }

    .notification-dropdown > .nav-link,
    .account-link {
        min-width: 40px;
        min-height: 40px
    }

    .admin-nav-search {
        position: relative;
        width: min(360px, 32vw);
        min-width: 220px
    }

    .admin-nav-search__control {
        position: relative;
        display: flex;
        align-items: center;
        min-height: 40px;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        background: #f9fafb;
        color: #111827;
        transition: border-color .16s ease, box-shadow .16s ease, background .16s ease
    }

    .admin-nav-search__control:focus-within {
        background: #fff;
        border-color: #640000;
        box-shadow: 0 0 0 3px rgba(100, 0, 0, .1)
    }

    .admin-nav-search__icon {
        width: 40px;
        flex-shrink: 0;
        color: #6b7280;
        text-align: center
    }

    .admin-nav-search__input {
        width: 100%;
        min-width: 0;
        height: 38px;
        border: 0;
        outline: 0;
        background: transparent;
        color: #111827;
        font-size: .9rem
    }

    .admin-nav-search__input::placeholder {
        color: #6b7280
    }

    .admin-nav-search__shortcut {
        flex-shrink: 0;
        margin-right: 8px;
        padding: 2px 6px;
        border: 1px solid #d1d5db;
        border-radius: 6px;
        color: #6b7280;
        font-size: .72rem;
        font-weight: 520;
        line-height: 1.3
    }

    .admin-nav-search__results {
        position: absolute;
        top: calc(100% + 8px);
        left: 0;
        right: 0;
        z-index: 30;
        display: none;
        max-height: min(420px, calc(100vh - 90px));
        overflow-y: auto;
        padding: 6px;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        background: #fff;
        box-shadow: 0 18px 44px rgba(15, 23, 42, .18)
    }

    .admin-nav-search.is-open .admin-nav-search__results {
        display: block
    }

    .admin-nav-search__item {
        width: 100%;
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px;
        border: 0;
        border-radius: 7px;
        background: transparent;
        color: #111827;
        text-align: left;
        cursor: pointer
    }

    .admin-nav-search__item:hover,
    .admin-nav-search__item.is-active {
        background: #f3f4f6
    }

    .admin-nav-search__item-icon {
        width: 28px;
        height: 28px;
        flex-shrink: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 7px;
        background: #fff1f1;
        color: #640000
    }

    .admin-nav-search__item-main {
        min-width: 0
    }

    .admin-nav-search__item-title,
    .admin-nav-search__item-path {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap
    }

    .admin-nav-search__item-title {
        font-weight: 520;
        line-height: 1.25
    }

    .admin-nav-search__item-path {
        margin-top: 2px;
        color: #6b7280;
        font-size: .78rem
    }

    .admin-nav-search__empty,
    .admin-nav-search__hint {
        padding: 10px;
        color: #6b7280;
        font-size: .84rem
    }

    .admin-nav-search__hint {
        border-top: 1px solid #f3f4f6
    }

    @media (max-width: 575.98px) {
        .main-logo {
            display: none
        }

        .res-main-logo {
            width: 30px;
            height: 30px;
            display: inline-flex;
            align-items: center
        }

        .res-main-logo img {
            height: 50px;
            display: block;
            object-fit: contain;
            padding-left: 8px
        }

        .header--admin .right-header {
            flex: 1 1 auto;
            min-width: 0
        }

        .header--admin .header-actions {
            width: 100%;
            gap: 8px
        }

        .header--admin .admin-nav-search {
            order: 2;
            flex: 0 0 40px;
            width: 40px;
            min-width: 40px;
            margin: 0
        }

        .header--admin .admin-nav-search__control {
            width: 40px;
            justify-content: center;
            cursor: pointer
        }

        .header--admin .admin-nav-search__icon {
            width: 40px
        }

        .header--admin .admin-nav-search__input {
            position: absolute;
            width: 1px;
            min-width: 0;
            height: 1px;
            opacity: 0;
            pointer-events: none
        }

        .header--admin .admin-nav-search.is-mobile-expanded .admin-nav-search__control {
            position: fixed;
            top: 62px;
            left: 12px;
            right: 12px;
            z-index: 1041;
            width: auto;
            justify-content: flex-start;
            background: #fff
        }

        .header--admin .admin-nav-search.is-mobile-expanded .admin-nav-search__input {
            position: static;
            width: 100%;
            height: 38px;
            opacity: 1;
            pointer-events: auto
        }

        .header--admin .notification-dropdown {
            order: 3
        }

        .header--admin .account-dropdown {
            order: 4 !important
        }

        .admin-nav-search__results {
            position: fixed;
            top: 112px;
            left: 12px;
            right: 12px;
            max-height: calc(100vh - 136px)
        }

        .admin-nav-search__shortcut {
            display: none
        }
    }

    @media (min-width: 576px) and (max-width: 767.98px) {


        .res-main-logo {
            width: 40px;
            height: 40px;
            display: inline-flex;
            align-items: center
        }

        .res-main-logo img {
            width: 40px;
            height: 40px;
            display: block;
            object-fit: contain
        }

        .admin-nav-search {
            width: 260px;
            min-width: 220px
        }
    }

    @media (max-width: 1199.98px) {
        .admin-nav-search {
            width: min(300px, 30vw)
        }
    }

    .header--admin ~ .wrapper-body {
        padding-top: var(--sr-page-top-gap, 18px);
    }

    @media (max-width: 575.98px) {

    }

/* Source: public_html/admin/email_chrome.php */
.email-admin-shell { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 18px; align-items: start; }
        .email-admin-nav, .email-panel { background: #fff; border: 1px solid #e6e8ec; border-radius: 8px; box-shadow: 0 1px 2px rgba(16, 24, 40, .04); }
        .email-admin-nav a { display: block; padding: 11px 14px; color: #344054; border-bottom: 1px solid #f0f2f5; text-decoration: none; font-weight: 620; }
        .email-admin-nav a.active { background: #f9fafb; color: #111827; }
        .email-panel { padding: 18px; }
        .email-code { font-family: Consolas, Monaco, monospace; min-height: 300px; line-height: 1.45; resize: vertical; }
        .email-preview-frame { width: 100%; min-height: 420px; border: 1px solid #d0d5dd; border-radius: 6px; background: #fff; }
        .email-editor-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 42%); gap: 18px; align-items: start; }
        @media (max-width: 1199px) { .email-admin-shell, .email-editor-grid { grid-template-columns: 1fr; } }

/* Source: public_html/admin/email_history.php */

        .email-admin-page {
            display: flex;
            flex-direction: column;
            gap: 18px;
            padding-bottom: 32px;
        }

        .email-page-header {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 16px;
            padding: 22px;
            background: linear-gradient(135deg, #ffffff 0%, #f3f6ff 100%);
            border: 1px solid var(--email-border);
            border-radius: calc(var(--email-radius) + 4px);
            box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
        }

        .email-page-header h1 {
            margin: 0 0 6px;
            color: var(--email-text);
            font-size: clamp(1.45rem, 2vw, 2rem);
            line-height: 1.2;
            letter-spacing: -.02em;
        }

        .email-page-header p {
            max-width: 760px;
            margin: 0;
            color: var(--email-muted);
            font-size: .98rem;
        }

        .email-admin-shell {
            display: grid;
            grid-template-columns: 240px minmax(0, 1fr);
            gap: 20px;
            align-items: start;
        }

        .email-admin-nav {
            position: sticky;
            top: 16px;
            display: flex;
            flex-direction: column;
            gap: 6px;
            padding: 8px;
            background: var(--email-surface);
            border: 1px solid var(--email-border);
            border-radius: var(--email-radius);
            box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
        }

        .email-admin-nav a {
            display: flex;
            align-items: center;
            min-height: 42px;
            padding: 10px 12px;
            color: #344054;
            border-radius: 10px;
            text-decoration: none;
            font-weight: 700;
            line-height: 1.2;
            transition: background .15s ease, color .15s ease, transform .15s ease;
        }

        .email-admin-nav a:hover {
            background: var(--email-surface-soft);
            color: var(--email-text);
            transform: translateX(1px);
        }

        .email-admin-nav a.active {
            background: var(--email-primary-soft);
            color: var(--email-primary);
        }

        .email-content-stack {
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 18px;
        }

        .email-alert {
            margin: 0;
            border-radius: var(--email-radius);
        }

        .email-run-card {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px 14px;
            padding: 14px 16px;
            background: var(--email-surface);
            border: 1px solid var(--email-border);
            border-radius: var(--email-radius);
            box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
        }

        .email-run-card strong {
            color: var(--email-text);
        }

        .email-run-metric {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            color: var(--email-muted);
            font-weight: 700;
        }

        .email-run-metric span {
            color: var(--email-text);
        }

        .email-filter-panel,
        .email-panel {
            background: var(--email-surface);
            border: 1px solid var(--email-border);
            border-radius: var(--email-radius);
            box-shadow: var(--email-shadow);
        }

        .email-filter-panel {
            padding: 16px;
        }

        .email-filter-grid {
            display: grid;
            grid-template-columns: repeat(5, minmax(130px, 1fr)) auto;
            gap: 12px;
            align-items: end;
        }

        .email-field label {
            display: block;
            margin-bottom: 6px;
            color: #344054;
            font-size: .78rem;
            text-transform: uppercase;
            letter-spacing: .04em;
        }

        .email-field .form-control,
        .email-field select.form-control {
            width: 100%;
            min-height: 42px;
            border-color: var(--email-border-strong);
            border-radius: 10px;
        }

        .email-filter-actions {
            display: flex;
            gap: 8px;
            align-items: center;
            white-space: nowrap;
        }

        .email-filter-actions .main-btn,
        .email-filter-actions .co-main-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 42px;
            margin: 0;
            border-radius: 10px;
        }

        .email-panel {
            overflow: hidden;
        }

        .email-panel-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding: 16px 18px;
            border-bottom: 1px solid var(--email-border);
            background: var(--email-surface-soft);
        }

        .email-panel-header h2 {
            margin: 0;
            color: var(--email-text);
            font-size: 1.08rem;
        }

        .email-count-pill {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 32px;
            height: 28px;
            padding: 0 10px;
            border: 1px solid var(--email-border);
            border-radius: 999px;
            background: #fff;
            color: var(--email-muted);
            font-size: .82rem;
        }

        .email-table-wrap {
            width: 100%;
            overflow-x: auto;
        }

        .email-table {
            min-width: 980px;
            margin: 0;
            vertical-align: middle;
        }

        .email-table thead th {
            position: sticky;
            top: 0;
            z-index: 1;
            background: #fff;
            color: #475467;
            border-bottom: 1px solid var(--email-border);
            font-size: .75rem;
            text-transform: uppercase;
            letter-spacing: .04em;
            white-space: nowrap;
        }

        .email-table tbody td {
            color: #344054;
            border-color: #eef2f6;
        }

        .email-sort-link {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            color: inherit;
            text-decoration: none;
        }

        .email-sort-link:hover,
        .email-sort-link--active {
            color: var(--sr-primary);
            text-decoration: underline;
            text-underline-offset: 3px;
        }

        .email-table code {
            display: inline-block;
            max-width: 220px;
            padding: 3px 7px;
            overflow: hidden;
            color: var(--sr-primary);
            background: var(--email-primary-soft);
            border-radius: 8px;
            text-overflow: ellipsis;
            vertical-align: middle;
            white-space: nowrap;
        }

        .email-recipient,
        .email-error,
        .email-date {
            max-width: 260px;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .email-error {
            color: var(--email-muted);
            max-width: 320px;
        }

        .email-status {
            display: inline-flex;
            align-items: center;
            min-height: 26px;
            padding: 4px 9px;
            border-radius: 999px;
            background: #f2f4f7;
            color: #344054;
            font-size: .78rem;
            white-space: nowrap;
        }

        .email-status--sent {
            background: #ecfdf3;
            color: #027a48;
        }

        .email-status--pending {
            background: #eff4ff;
            color: var(--sr-primary);
        }

        .email-status--processing {
            background: #f4f3ff;
            color: #5925dc;
        }

        .email-status--failed_retryable,
        .email-status--failed_final {
            background: var(--email-danger-soft);
            color: var(--email-danger);
        }

        .email-status--cancelled {
            background: #f2f4f7;
            color: #475467;
        }

        .email-status--dry_run {
            background: #fffaeb;
            color: #b54708;
        }

        .email-row-danger td {
            background: #fff8f7;
        }

        .email-empty-state {
            padding: 30px 18px;
            color: var(--email-muted);
            text-align: center;
            font-weight: 700;
        }

        .email-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            align-items: center;
            justify-content: flex-start;
            min-width: 220px;
        }

        .email-actions form {
            margin: 0;
        }

        .email-actions button,
        .email-actions .email-action-disabled {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 36px;
            padding: 8px 11px;
            border: 1px solid var(--email-border-strong);
            border-radius: 10px;
            background: #fff;
            color: #344054;
            font-size: .84rem;
            line-height: 1;
            white-space: nowrap;
        }

        .email-actions button:hover {
            background: var(--email-surface-soft);
        }

        .email-actions button.danger {
            border-color: #fecdca;
            background: var(--email-danger-soft);
            color: var(--email-danger);
        }

        .email-actions .email-action-primary {
            border-color: #b2ccff;
            background: var(--email-primary-soft);
            color: var(--email-primary);
        }

        .email-actions .email-action-disabled {
            color: var(--email-muted);
            background: #f9fafb;
        }

        @media (max-width: 1200px) {
            .email-filter-grid {
                grid-template-columns: repeat(3, minmax(150px, 1fr));
            }

            .email-filter-actions {
                grid-column: 1 / -1;
            }
        }

        @media (max-width: 900px) {
            .email-admin-shell {
                grid-template-columns: 1fr;
            }

            .email-admin-nav {
                position: static;
                flex-direction: row;
                overflow-x: auto;
                -webkit-overflow-scrolling: touch;
            }

            .email-admin-nav a {
                flex: 0 0 auto;
                white-space: nowrap;
            }

            .email-page-header {
                padding: 18px;
            }
        }

        @media (max-width: 720px) {
            .container-fluid {
                padding-left: 12px;
                padding-right: 12px;
            }

            .email-filter-grid {
                grid-template-columns: 1fr;
            }

            .email-filter-actions {
                display: grid;
                grid-template-columns: 1fr 1fr;
                width: 100%;
            }

            .email-filter-actions .main-btn,
            .email-filter-actions .co-main-btn {
                width: 100%;
                min-width: 0;
            }

            .email-panel-header {
                padding: 14px;
            }

            .email-table-wrap {
                overflow: visible;
            }

            .email-table {
                min-width: 0;
                border-collapse: separate;
                border-spacing: 0 12px;
            }

            .email-table thead {
                display: none;
            }

            .email-table,
            .email-table tbody,
            .email-table tr,
            .email-table td {
                display: block;
                width: 100%;
            }

            .email-table tbody tr {
                padding: 12px;
                border: 1px solid var(--email-border);
                border-radius: 14px;
                background: #fff;
                box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
            }

            .email-table tbody td {
                display: grid;
                grid-template-columns: 120px minmax(0, 1fr);
                gap: 10px;
                padding: 8px 0;
                border: 0;
            }

            .email-table tbody td::before {
                content: attr(data-label);
                color: var(--email-muted);
                font-size: .75rem;
                text-transform: uppercase;
                letter-spacing: .04em;
            }

            .email-recipient,
            .email-error,
            .email-date,
            .email-table code {
                max-width: 100%;
                white-space: normal;
                overflow-wrap: anywhere;
            }

            .email-actions {
                min-width: 0;
            }

            .email-actions form,
            .email-actions button,
            .email-actions .email-action-disabled {
                width: 100%;
            }
        }

        @media (max-width: 430px) {
            .email-page-header {
                padding: 16px;
            }

            .email-filter-actions {
                grid-template-columns: 1fr;
            }

            .email-table tbody td {
                grid-template-columns: 1fr;
                gap: 4px;
            }
        }

/* Source: public_html/admin/email_template.php */
.email-panel { background: #fff; border: 1px solid #e6e8ec; border-radius: 8px; padding: 18px; box-shadow: 0 1px 2px rgba(16, 24, 40, .04); }
        .email-help-text { color: #667085; font-size: 13px; line-height: 1.45; margin-top: 6px; }
        .email-action-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
        .email-status { display: inline-flex; min-height: 24px; align-items: center; padding: 2px 9px; border-radius: 999px; font-size: 12px; font-weight: 620; background: #eef2ff; color: #3730a3; }
        .email-status.inactive { background: #f3f4f6; color: #6b7280; }

/* Source: public_html/admin/email_templates.php */
.email-admin-shell {
            display: grid;
            grid-template-columns: 220px minmax(0, 1fr);
            gap: 18px;
            align-items: start;
        }

        .email-admin-nav {
            background: #fff;
            border: 1px solid #e6e8ec;
            border-radius: 8px;
            box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
        }



        .email-dashboard-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 14px;
            margin-bottom: 18px;
        }

        .email-panel {
            background: #fff;
            border: 1px solid #e6e8ec;
            border-radius: 8px;
            padding: 18px;
            box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
        }

        .email-stat-label {
            color: #667085;
            font-size: 13px;
            margin-bottom: 8px;
        }

        .email-stat-value {
            font-size: 20px;
            font-weight: 650;
            color: #111827;
            line-height: 1;
        }



        .email-toolbar {
            display: flex;
            justify-content: space-between;
            gap: 12px;
            align-items: center;
            flex-wrap: wrap;
            margin-bottom: 16px;
        }

        .email-template-actions {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
        }

        .email-template-row {
            cursor: pointer;
        }

        .email-template-row:hover td,
        .email-template-row:focus td {
            background: #f9fafb;
        }

        .email-template-row:focus {
            outline: 2px solid #111827;
            outline-offset: -2px;
        }

        .email-preview-modal .modal-header {
            align-items: flex-start;
        }

        .email-preview-modal .modal-body {
            background: #f3f4f6;
        }

        .email-preview-frame--modal {
            width: 100%;
            min-height: 720px;
            border: 1px solid #d0d5dd;
            border-radius: 8px;
            background: #ffffff;
        }

        .email-preview-error {
            margin: 0;
            padding: 14px;
            white-space: pre-wrap;
            color: #b42318;
            background: #fff5f3;
            border: 1px solid #fecdca;
            border-radius: 8px;
        }

        @media (max-width: 1199px) {
            .email-dashboard-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        @media (max-width: 900px) {

        }

        @media (max-width: 575px) {
            .email-dashboard-grid {
                grid-template-columns: 1fr;
            }
        }

/* Source: public_html/admin/email_template_version.php */
.email-admin-shell { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 18px; align-items: start; }



        .email-editor-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 38%); gap: 18px; align-items: start; }


        .email-workspace-grid { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 18px; align-items: start; }
        .email-locale-rail { border: 1px solid #e6e8ec; border-radius: 8px; overflow: hidden; background: #fff; }
        .email-locale-rail a { display: flex; justify-content: space-between; gap: 8px; align-items: center; padding: 10px 12px; text-decoration: none; color: #344054; border-bottom: 1px solid #f0f2f5; font-size: 13px; }
        .email-locale-rail a.active { background: #111827; color: #fff; }
        .email-status-pill { display: inline-flex; align-items: center; min-height: 22px; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; background: #eef2ff; color: #3730a3; }
        .email-locale-rail a.active .email-status-pill { background: rgba(255,255,255,.16); color: #fff; }
        .email-mode-tabs { display: inline-flex; border: 1px solid #d0d5dd; border-radius: 8px; overflow: hidden; background: #fff; }
        .email-mode-tabs button, .email-tiptap-toolbar button { border: 0; background: #fff; min-height: 36px; padding: 0 12px; font-weight: 700; color: #344054; }
        .email-mode-tabs button.active { background: #111827; color: #fff; }
        .email-tiptap-toolbar { display: flex; gap: 1px; flex-wrap: wrap; border: 1px solid #d0d5dd; border-bottom: 0; border-radius: 8px 8px 0 0; overflow: hidden; background: #d0d5dd; }
        .email-wysiwyg { min-height: 430px; border: 1px solid #d0d5dd; border-radius: 0 0 8px 8px; padding: 18px; background: #fff; overflow: auto; }
        .email-wysiwyg:focus { outline: 2px solid #111827; outline-offset: 2px; }
        .email-code { font-family: Consolas, Monaco, monospace; min-height: 488px; line-height: 1.45; resize: vertical; }
        .email-editor-pane[hidden] { display: none; }
        .email-text-fallback { font-family: Consolas, Monaco, monospace; min-height: 180px; resize: vertical; }
        .email-preview-frame { width: 100%; height: 520px; border: 1px solid #d0d5dd; background: #fff; border-radius: 6px; }
        .email-preview-subject { border: 1px solid #d0d5dd; border-radius: 6px; padding: 10px 12px; background: #f9fafb; font-weight: 620; margin-bottom: 12px; }
        .email-preview-text { margin: 12px 0 0; padding: 12px; border: 1px solid #d0d5dd; border-radius: 6px; background: #f9fafb; color: #344054; white-space: pre-wrap; }
        .email-variable-list { display: flex; flex-wrap: wrap; gap: 7px; margin: 10px 0 14px; }
        .email-variable-chip { border: 1px solid #d0d5dd; background: #fff; border-radius: 999px; padding: 5px 9px; font-family: Consolas, Monaco, monospace; font-size: 12px; cursor: pointer; }

        @media (max-width: 1199px) { .email-admin-shell, .email-editor-grid, .email-workspace-grid { grid-template-columns: 1fr; } }

/* Source: public_html/admin/panel-overview.php */
body.admin-dashboard-page {
            --sr-blue: #5E2121;
            --sr-green: #057a55;
            --sr-orange: #d03801;
            --sr-purple: #6c2bd9;
            --sr-slate: #374151;
            --sr-card-bg: #ffffff;
            --sr-border: #e5e7eb;
            --sr-muted: #6b7280;
            --sr-radius: 12px;
        }
        body.admin-dashboard-page {
            font-family: 'Inter', system-ui, sans-serif;
            background: #f3f4f6;
        }

        /* ── KPI cards ── */
        .kpi-card {
            background: var(--sr-card-bg);
            border: 1px solid var(--sr-border);
            border-radius: var(--sr-radius);
            padding: 20px 24px;
            display: flex;
            align-items: flex-start;
            gap: 16px;
            transition: box-shadow .15s;
        }

        .kpi-card:hover {
            box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
        }

        .kpi-icon {
            width: 48px;
            height: 48px;
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
            flex-shrink: 0;
        }

        .kpi-icon.blue {
            background: #fbf4ef;
            color: var(--sr-blue);
        }

        .kpi-icon.green {
            background: #ecfdf5;
            color: var(--sr-green);
        }

        .kpi-icon.orange {
            background: #fff7ed;
            color: var(--sr-orange);
        }

        .kpi-icon.purple {
            background: #f5f3ff;
            color: var(--sr-purple);
        }

        .kpi-icon.slate {
            background: #f1f5f9;
            color: var(--sr-slate);
        }

        .kpi-icon.red {
            background: #fef2f2;
            color: #dc2626;
        }

        .kpi-label {
            font-size: .78rem;
            font-weight: 554;
            color: var(--sr-muted);
            text-transform: uppercase;
            letter-spacing: .04em;
            margin-bottom: 4px;
        }

        .kpi-value {
            font-size: 1.75rem;
            font-weight: 700;
            color: #111827;
            line-height: 1;
        }

        .kpi-sub {
            font-size: .78rem;
            color: var(--sr-muted);
            margin-top: 4px;
        }

        .kpi-badge-up {
            color: var(--sr-green);
            font-size: .75rem;
        }

        .kpi-badge-warn {
            color: var(--sr-orange);
            font-size: .75rem;
        }

        /* ── Section cards ── */
        .dash-card {
            background: var(--sr-card-bg);
            border: 1px solid var(--sr-border);
            border-radius: var(--sr-radius);
            overflow: hidden;
        }

        .dash-card-header {
            padding: 16px 20px;
            border-bottom: 1px solid var(--sr-border);
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .dash-card-header h6 {
            margin: 0;
            font-weight: 620;
            font-size: .9rem;
            color: #111827;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        /* ── Attention banner ── */
        .attention-banner {
            background: #fef9c3;
            border: 1px solid #fde047;
            border-radius: var(--sr-radius);
            padding: 14px 20px;
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .attention-banner .items {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }

        .attention-banner__title {
            font-size: .85rem;
            color: #92400e;
        }

        .admin-dashboard__name,
        .admin-dashboard__user-link {
            font-weight: 554;
        }

        .admin-dashboard__event-link,
        .admin-dashboard__user-link {
            color: var(--sr-blue);
            text-decoration: none;
        }

        .admin-dashboard__event-link {
            font-size: .82rem;
        }

        .admin-dashboard__email {
            font-size: .75rem;
            color: var(--sr-muted);
        }

        .sr-badge-link {
            text-decoration: none;
        }

        .admin-dashboard__empty-state {
            font-size: .85em;
        }

        .attention-pill {
            background: #fef08a;
            border-radius: 20px;
            padding: 3px 12px;
            font-size: .78rem;
            font-weight: 620;
            color: #92400e;
            text-decoration: none;
            white-space: nowrap;
            border: 1px solid #fbbf24;
        }

        .attention-pill:hover {
            background: #fde047;
            color: #78350f;
        }

        /* ── Activity table ── */
        .activity-table {
            width: 100%;
            border-collapse: collapse;
            font-size: .84rem;
        }

        .activity-table th {
            padding: 10px 16px;
            font-size: .72rem;
            font-weight: 620;
            text-transform: uppercase;
            letter-spacing: .04em;
            color: var(--sr-muted);
            background: #f9fafb;
            border-bottom: 1px solid var(--sr-border);
        }

        .activity-table td {
            padding: 11px 16px;
            border-bottom: 1px solid #f3f4f6;
            vertical-align: middle;
        }

        .activity-table tr:last-child td {
            border-bottom: none;
        }

        .activity-table tr:hover td {
            background: #f9fafb;
        }

        /* ── Status badges ── */
        .sr-badge {
            display: inline-block;
            padding: 2px 10px;
            border-radius: 20px;
            font-size: .72rem;
            font-weight: 620;
            white-space: nowrap;
        }

        .sr-badge-success {
            background: #d1fae5;
            color: #065f46;
        }

        .sr-badge-warn {
            background: #fff3cd;
            color: #92400e;
        }

        .sr-badge-danger {
            background: #fee2e2;
            color: #991b1b;
        }

        .sr-badge-muted {
            background: #f3f4f6;
            color: #374151;
        }

        .sr-badge-blue {
            background: #dbeafe;
            color: #1e40af;
        }

        /* ── System status row ── */
        .sys-stat {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 11px 20px;
            border-bottom: 1px solid var(--sr-border);
            font-size: .84rem;
        }

        .sys-stat:last-child {
            border-bottom: none;
        }

        .sys-stat-label {
            color: var(--sr-slate);
            font-weight: 554;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .sys-stat-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            flex-shrink: 0;
        }

        .dot-ok {
            background: #10b981;
        }

        .dot-warn {
            background: #f59e0b;
        }

        .dot-err {
            background: #ef4444;
        }

        /* ── Greeting header ── */
        .dash-greeting {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 12px;
            padding-bottom: 4px;
        }

        .dash-greeting-text h2 {
            font-size: 1.4rem;
            font-weight: 700;
            color: #111827;
            margin: 0 0 2px;
        }

        .dash-greeting-text p {
            margin: 0;
            color: var(--sr-muted);
            font-size: .84rem;
        }

        .dash-avatar {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: var(--sr-blue);
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            font-size: 1rem;
            flex-shrink: 0;
        }

        /* ── Chart wrapper ── */
        .chart-wrap {
            padding: 16px 20px 8px;
        }

        /* ── Quick action buttons ── */
        .quick-action {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 6px;
            text-decoration: none;
            color: var(--sr-slate);
            background: #f9fafb;
            border: 1px solid var(--sr-border);
            border-radius: 10px;
            padding: 14px 10px;
            font-size: .75rem;
            font-weight: 554;
            text-align: center;
            transition: all .15s;
        }

        .quick-action i {
            font-size: 1.3rem;
            color: var(--sr-blue);
        }

        .quick-action:hover {
            background: #fbf4ef;
            border-color: #e8d1bf;
            color: var(--sr-blue);
        }

        /* ── USD note ── */
        .usd-note {
            font-size: .72rem;
            color: var(--sr-muted);
            margin-top: 2px;
        }

/* Source: public_html/admin/successful-orders.php */
.status-circle {
      display: inline-block;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      margin-right: 6px;
      vertical-align: middle;
    }

    .green-circle {
      background: #22c55e;
    }

    .red-circle {
      background: #ef4444;
    }

/* Source: public_html/admin/ticketing.php */
.copy-email {
      cursor: pointer;
      text-decoration: underline;
    }

    .copy-badge {
      position: fixed;
      bottom: 20px;
      right: 20px;
      background: rgba(0, 0, 0, 0.8);
      color: #fff;
      padding: 8px 12px;
      border-radius: 8px;
      opacity: 0;
      transform: translateY(8px);
      transition: opacity .2s ease, transform .2s ease;
      z-index: 100;
      font-size: 14px;
    }

    .copy-badge.show {
      opacity: 1;
      transform: translateY(0);
    }

/* Source: public_html/admin/unconfirmed-orders.php */
pre#checkModalRaw {
      white-space: pre-wrap;
      word-break: break-word;
    }

/* Source: public_html/attendee/all-notifications.php */
.notif-shell {
            max-width: 1180px;
            margin: 0 auto;
            padding: 8px 0 40px
        }

        .notif-hero {
            display: flex;
            justify-content: space-between;
            gap: 16px;
            align-items: flex-end;
            margin-bottom: 18px
        }

        .notif-hero h1 {
            font-size: 1.55rem;
            font-weight: 520;
            color: #111827;
            margin: 0
        }

        .notif-hero p {
            margin: 6px 0 0;
            color: #6b7280;
            font-size: .92rem
        }

        .notif-actions {
            display: flex;
            gap: 8px;
            flex-wrap: wrap
        }

        .notif-btn {
            border: 1px solid #dbe3ef;
            background: #fff;
            color: #1f2937;
            border-radius: 8px;
            padding: 9px 12px;
            font-weight: 520;
            font-size: .82rem;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 7px
        }

        .notif-btn:hover {
            background: #f8fafc;
            color: #1f2937;
            text-decoration: none
        }

        .notif-btn.primary {
            background: #5E2121;
            border-color: #5E2121;
            color: #fff
        }

        .notif-stats {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 12px;
            margin-bottom: 14px
        }

        .notif-stat {
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 8px;
            padding: 14px 16px
        }

        .notif-stat span {
            display: block;
            color: #6b7280;
            font-size: .76rem;
            font-weight: 520;
            text-transform: uppercase
        }

        .notif-stat strong {
            display: block;
            color: #111827;
            font-size: 1.45rem;
            line-height: 1.1;
            margin-top: 4px
        }

        .notif-toolbar {
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 8px;
            padding: 12px;
            margin-bottom: 14px;
            display: flex;
            gap: 12px;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap
        }

        .notif-search {
            display: flex;
            gap: 8px;
            align-items: center;
            flex: 1 1 320px
        }

        .notif-search input {
            height: 40px;
            border: 1px solid #d1d5db;
            border-radius: 8px;
            padding: 0 12px;
            min-width: 220px;
            flex: 1
        }

        .notif-filters {
            display: flex;
            gap: 6px;
            flex-wrap: wrap
        }

        .notif-filter {
            border: 1px solid #dbe3ef;
            background: #fff;
            border-radius: 999px;
            padding: 7px 12px;
            font-weight: 520;
            font-size: .8rem;
            color: #374151;
            text-decoration: none
        }

        .notif-filter.active {
            background: #fbf4ef;
            color: #783232;
            border-color: #e8d1bf
        }

        .notif-list {
            display: flex;
            flex-direction: column;
            gap: 10px
        }

        .notif-card {
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 8px;
            padding: 14px;
            display: grid;
            grid-template-columns: 44px minmax(0, 1fr) auto;
            gap: 12px;
            align-items: start
        }

        .notif-card.unread {
            border-color: #e8d1bf;
            background: #f8fbff
        }

        .notif-icon {
            width: 44px;
            height: 44px;
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #e0f2fe;
            color: #0369a1
        }

        .notif-title {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
            margin-bottom: 4px
        }

        .notif-title h2 {
            font-size: .98rem;
            font-weight: 749;
            color: #111827;
            margin: 0
        }

        .notif-pill {
            font-size: .72rem;
            font-weight: 749;
            border-radius: 999px;
            padding: 3px 8px;
            background: #e5e7eb;
            color: #374151
        }

        .notif-pill.unread {
            background: #FEDBDB;
            color: #783232
        }

        .notif-message {
            font-size: .88rem;
            color: #4b5563;
            margin: 0 0 8px;
            line-height: 1.45
        }

        .notif-meta {
            font-size: .76rem;
            color: #6b7280;
            font-weight: 700
        }

        .notif-card-actions {
            display: flex;
            gap: 7px;
            align-items: center;
            flex-wrap: wrap;
            justify-content: flex-end
        }

        .notif-icon-btn {
            width: 36px;
            height: 36px;
            border: 1px solid #dbe3ef;
            background: #fff;
            border-radius: 8px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #374151;
            text-decoration: none
        }

        .notif-icon-btn:hover {
            background: #f8fafc;
            color: #783232
        }

        .notif-empty {
            background: #fff;
            border: 1px dashed #cbd5e1;
            border-radius: 8px;
            text-align: center;
            padding: 44px 18px;
            color: #64748b
        }

        .notif-empty i {
            font-size: 2rem;
            color: #94a3b8;
            margin-bottom: 10px
        }

        .notif-empty h2 {
            font-size: 1rem;
            font-weight: 749;
            color: #111827;
            margin: 0 0 6px
        }
        .night-mode .notif-hero h1,
        html.night-mode .notif-hero h1,
        html[data-theme="dark"] .notif-hero h1,
        .night-mode .notif-stat strong,
        html.night-mode .notif-stat strong,
        html[data-theme="dark"] .notif-stat strong,
        .night-mode .notif-title h2,
        html.night-mode .notif-title h2,
        html[data-theme="dark"] .notif-title h2,
        .night-mode .notif-empty h2,
        html.night-mode .notif-empty h2,
        html[data-theme="dark"] .notif-empty h2 {
            color: #f8fafc
        }

        .night-mode .notif-hero p,
        html.night-mode .notif-hero p,
        html[data-theme="dark"] .notif-hero p,
        .night-mode .notif-stat span,
        html.night-mode .notif-stat span,
        html[data-theme="dark"] .notif-stat span,
        .night-mode .notif-message,
        html.night-mode .notif-message,
        html[data-theme="dark"] .notif-message,
        .night-mode .notif-meta,
        html.night-mode .notif-meta,
        html[data-theme="dark"] .notif-meta,
        .night-mode .notif-empty,
        html.night-mode .notif-empty,
        html[data-theme="dark"] .notif-empty {
            color: #cbd5e1
        }

        .night-mode .notif-stat,
        html.night-mode .notif-stat,
        html[data-theme="dark"] .notif-stat,
        .night-mode .notif-toolbar,
        html.night-mode .notif-toolbar,
        html[data-theme="dark"] .notif-toolbar,
        .night-mode .notif-card,
        html.night-mode .notif-card,
        html[data-theme="dark"] .notif-card,
        .night-mode .notif-empty,
        html.night-mode .notif-empty,
        html[data-theme="dark"] .notif-empty {
            background: #151922;
            border-color: #293142
        }

        .night-mode .notif-card.unread,
        html.night-mode .notif-card.unread,
        html[data-theme="dark"] .notif-card.unread {
            background: #1e293b;
            border-color: #475569
        }

        .night-mode .notif-btn,
        html.night-mode .notif-btn,
        html[data-theme="dark"] .notif-btn,
        .night-mode .notif-filter,
        html.night-mode .notif-filter,
        html[data-theme="dark"] .notif-filter,
        .night-mode .notif-icon-btn,
        html.night-mode .notif-icon-btn,
        html[data-theme="dark"] .notif-icon-btn,
        .night-mode .notif-search input,
        html.night-mode .notif-search input,
        html[data-theme="dark"] .notif-search input {
            background: #111827;
            border-color: #374151;
            color: #f8fafc
        }

        .night-mode .notif-btn:hover,
        html.night-mode .notif-btn:hover,
        html[data-theme="dark"] .notif-btn:hover,
        .night-mode .notif-icon-btn:hover,
        html.night-mode .notif-icon-btn:hover,
        html[data-theme="dark"] .notif-icon-btn:hover {
            background: #1f2937;
            color: #ffd7d7
        }

        .night-mode .notif-filter.active,
        html.night-mode .notif-filter.active,
        html[data-theme="dark"] .notif-filter.active,
        .night-mode .notif-pill.unread,
        html.night-mode .notif-pill.unread,
        html[data-theme="dark"] .notif-pill.unread {
            background: #3b1f1f;
            border-color: #6E0000;
            color: #ffd7d7
        }

        .night-mode .notif-pill,
        html.night-mode .notif-pill,
        html[data-theme="dark"] .notif-pill {
            background: #263041;
            color: #cbd5e1
        }

        @media(max-width:700px) {
            .notif-hero {
                align-items: flex-start;
                flex-direction: column
            }

            .notif-stats {
                grid-template-columns: 1fr
            }

            .notif-card {
                grid-template-columns: 40px minmax(0, 1fr)
            }

            .notif-card-actions {
                grid-column: 2;
                justify-content: flex-start
            }
        }

/* Source: public_html/attendee/a_myaccount.php */
.error {
            color: red;
            background-color: #ffe6e6;
        }

        .success {
            color: green;
            background-color: #e6ffe6;
        }

        .warning {
            color: orange;
            background-color: #fff0cc;
        }

        .deleted {
            color: red;
            background-color: #ffe6e6;
        }

        .red {
            color: red;
            background-color: #ffe6e6;
        }

/* Source: public_html/blog/blog_post.php */
.article-page {
            background: #f8fafc;
            display: flow-root;
            flex: 1 0 auto;
            min-height: calc(100vh - 60px)
        }

        body.blog-post-page {
            min-height: 100%;
            display: flex;
            flex-direction: column
        }

        body.blog-post-page .footer {
            flex-shrink: 0;
            margin-top: 0;
            position: relative;
            z-index: 1
        }

        .article-shell {
            max-width: 1120px;
            margin: 0 auto;
            padding: 58px 16px 64px;
            display: flow-root
        }

        .article-back {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: #6E0000;
            font-weight: 749;
            text-decoration: none;
            margin-bottom: 18px
        }

        .article-layout {
            display: grid;
            grid-template-columns: minmax(0, 760px) 280px;
            gap: 28px;
            align-items: start
        }

        .article-main {
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 8px;
            overflow: hidden
        }

        .article-hero {
            padding: 28px 30px 20px
        }

        .article-kicker {
            font-size: .78rem;
            font-weight: 749;
            letter-spacing: .08em;
            text-transform: uppercase;
            color: #6E0000;
            margin-bottom: 10px
        }

        .article-hero h1 {
            font-size: clamp(2rem, 4vw, 3rem);
            font-weight: 749;
            color: #0f172a;
            margin: 0
        }

        .article-summary {
            color: #475569;
            font-size: 1rem;
            line-height: 1.7;
            margin: 16px 0 0
        }

        .article-meta {
            display: flex;
            gap: 12px;
            flex-wrap: wrap;
            margin-top: 18px;
            color: #64748b;
            font-size: .83rem
        }

        .article-meta span {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            border: 1px solid #e5e7eb;
            border-radius: 999px;
            padding: 6px 10px;
            background: #f8fafc
        }

        .article-image {
            aspect-ratio: 16/8.5;
            background: #e5e7eb;
            overflow: hidden
        }

        .article-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block
        }

        .article-body {
            padding: 28px 30px;
            color: #1f2937;
            font-size: 1rem;
            line-height: 1.75
        }

        .article-body img {
            max-width: 100%;
            height: auto;
            border-radius: 8px
        }

        .article-body h2,
        .article-body h3 {
            color: #111827;
            font-weight: 749;
            margin-top: 1.6em
        }

        .article-body a {
            color: #6E0000;
            font-weight: 800
        }

        .article-side {
            position: sticky;
            top: 92px;
            display: flex;
            flex-direction: column;
            gap: 14px
        }

        .article-box {
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 8px;
            padding: 16px
        }

        .article-box h2 {
            font-size: .95rem;
            font-weight: 749;
            color: #111827;
            margin: 0 0 12px
        }

        .article-tags {
            display: flex;
            gap: 7px;
            flex-wrap: wrap;
            margin: 0;
            padding: 0;
            list-style: none
        }

        .article-tags li {
            border-radius: 999px;
            background: #fbf4ef;
            color: #6E0000;
            padding: 5px 9px;
            font-size: .78rem;
            font-weight: 749
        }

        .article-share ul {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
            margin: 0;
            padding: 0;
            list-style: none
        }

        .article-share a {
            width: 38px;
            height: 38px;
            border: 1px solid #dbe3ef;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            color: #374151;
            background: #fff
        }

        .article-share a:hover {
            background: #f8fafc;
            color: #6E0000
        }

        .related-section {
            margin-top: 28px
        }

        .related-head {
            display: flex;
            justify-content: space-between;
            gap: 16px;
            align-items: flex-end;
            margin-bottom: 14px
        }

        .related-head h2 {
            font-size: 1.25rem;
            font-weight: 749;
            color: #111827;
            margin: 0
        }

        .related-head p {
            margin: 5px 0 0;
            color: #64748b
        }

        .related-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 16px
        }

        .related-card {
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 8px;
            overflow: hidden;
            display: flex;
            flex-direction: column
        }

        .related-card__image {
            aspect-ratio: 16/10;
            background: #e5e7eb
        }

        .related-card__image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block
        }

        .related-card__body {
            padding: 15px;
            display: flex;
            flex-direction: column;
            flex: 1
        }

        .related-card h3 {
            font-size: 1rem;
            line-height: 1.35;
            font-weight: 749;
            color: #111827;
            margin: 0 0 9px
        }

        .related-card p {
            color: #4b5563;
            line-height: 1.45;
            margin: 0
        }

        .related-meta {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            color: #64748b;
            font-size: .78rem;
            margin: 12px 0
        }

        .related-link {
            margin-top: auto;
            color: #6E0000;
            font-weight: 749;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 7px
        }

        .related-empty {
            background: #fff;
            border: 1px dashed #cbd5e1;
            border-radius: 8px;
            padding: 24px;
            text-align: center;
            color: #64748b
        }

        .related-list {
            list-style: none;
            margin: 0;
            padding: 0;
            display: flex;
            flex-direction: column;
            gap: 0
        }

        .related-list__item {
            display: flex;
            align-items: baseline;
            gap: 10px;
            justify-content: space-between;
            flex-wrap: wrap;
            padding: 12px 0;
            border-bottom: 1px solid #e5e7eb
        }

        .related-list__item:last-child {
            border-bottom: none
        }

        .related-list__item a {
            color: #0f172a;
            font-weight: 600;
            text-decoration: none;
            font-size: .95rem;
            flex: 1;
            min-width: 0
        }

        .related-list__item a:hover {
            color: #6E0000
        }

        .related-list__meta {
            font-size: .78rem;
            color: #64748b;
            white-space: nowrap;
            flex-shrink: 0
        }

        .posts-slider-section {
            margin-top: 40px
        }

        .posts-slider-head {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 20px
        }

        .posts-slider-head h2 {
            font-size: 1.35rem;
            font-weight: 749;
            color: #0f172a;
            margin: 0 0 4px
        }

        .posts-slider-head p {
            font-size: .85rem;
            color: #64748b;
            margin: 0
        }

        .slider-nav {
            display: flex;
            gap: 8px;
            flex-shrink: 0
        }

        .slider-btn {
            width: 36px;
            height: 36px;
            border-radius: 50%;
            border: 1px solid #e5e7eb;
            background: #fff;
            color: #374151;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background .18s, border-color .18s
        }

        .slider-btn:hover {
            background: #6E0000;
            border-color: #6E0000;
            color: #fff
        }

        .posts-slider-wrap {
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            scrollbar-width: none;
            -ms-overflow-style: none
        }

        .posts-slider-wrap::-webkit-scrollbar {
            display: none
        }

        .posts-slider-track {
            display: flex;
            gap: 20px;
            width: max-content
        }

        .post-slider-card {
            width: 280px;
            flex-shrink: 0;
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 10px;
            overflow: hidden;
            scroll-snap-align: start;
            display: flex;
            flex-direction: column
        }

        .post-slider-card__img {
            display: block;
            aspect-ratio: 16/9;
            overflow: hidden
        }

        .post-slider-card__img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .3s
        }

        .post-slider-card:hover .post-slider-card__img img {
            transform: scale(1.04)
        }

        .post-slider-card__body {
            padding: 14px 16px 16px;
            display: flex;
            flex-direction: column;
            flex: 1
        }

        .post-slider-card__cat {
            font-size: .72rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .06em;
            color: #6E0000;
            margin-bottom: 6px;
            display: block
        }

        .post-slider-card__body h3 {
            font-size: .92rem;
            font-weight: 700;
            color: #0f172a;
            margin: 0 0 6px;
            line-height: 1.35;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden
        }

        .post-slider-card__body h3 a {
            color: inherit;
            text-decoration: none
        }

        .post-slider-card__body h3 a:hover {
            color: #6E0000
        }

        .post-slider-card__body p {
            font-size: .8rem;
            color: #64748b;
            line-height: 1.4;
            margin: 0 0 10px;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            flex: 1
        }

        .post-slider-card__meta {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            font-size: .75rem;
            color: #94a3b8;
            margin-top: auto
        }

        @media(max-width:980px) {
            .article-layout {
                grid-template-columns: 1fr
            }

            .article-side {
                position: static
            }

            .post-slider-card {
                width: 240px
            }
        }

        @media(max-width:640px) {

            .article-hero,
            .article-body {
                padding: 22px 18px
            }

            .post-slider-card {
                width: 220px
            }

            .posts-slider-head {
                align-items: flex-start;
                flex-wrap: wrap
            }

            .related-list__item {
                flex-direction: column;
                gap: 4px
            }

            .related-list__meta {
                white-space: normal
            }
        }

/* Source: public_html/css/consent_banner.php */
.sr-consent-banner {
      position: fixed;
      right: 18px;
      bottom: 18px;
      left: 18px;
      z-index: 60;
      display: none;
      justify-content: center;
      pointer-events: none;
   }

   .sr-consent-banner.is-visible {
      pointer-events: auto;
   }

   .sr-consent-banner__panel {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      gap: 14px;
      align-items: center;
      width: min(920px, 100%);
      padding: 16px;
      border: 1px solid rgba(122, 0, 0, 0.12);
      border-radius: 18px;
      background: rgba(255, 255, 255, 0.96);
      box-shadow: 0 18px 54px rgba(18, 18, 18, 0.18);
      color: #242424;
      opacity: 0;
      transform: translateY(16px);
      transition: opacity 180ms ease, transform 180ms ease;
      backdrop-filter: blur(14px);
   }

   .sr-consent-banner.is-visible .sr-consent-banner__panel {
      opacity: 1;
      transform: translateY(0);
   }

   .sr-consent-banner__icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 44px;
      height: 44px;
      border-radius: 14px;
      background: #f5eeee;
      color: #7a0000;
      font-size: 18px;
   }

   .sr-consent-banner__copy {
      min-width: 0;
   }

   .sr-consent-banner__title {
      margin: 0 0 3px;
      color: #171717;
      font-size: 15px;
      font-weight: 620;
      line-height: 1.25;
   }

   .sr-consent-banner__text {
      margin: 0;
      color: #5f5f5f;
      font-size: 13px;
      line-height: 1.45;
   }

   .sr-consent-banner__text a {
      color: #7a0000;
      font-weight: 650;
      text-decoration: underline;
      text-underline-offset: 3px;
   }

   .sr-consent-banner__actions {
      display: flex;
      align-items: center;
      gap: 8px;
   }

   .sr-consent-banner__button {
      min-height: 42px;
      border: 0;
      border-radius: 999px;
      background: #171717;
      color: #fff;
      padding: 0 18px;
      font-size: 14px;
      font-weight: 620;
      cursor: pointer;
      white-space: nowrap;
      transition: background-color 160ms ease, transform 160ms ease;
   }

   .sr-consent-banner__button:hover {
      background: #7a0000;
      transform: translateY(-1px);
   }

   .sr-consent-banner__button:focus-visible {
      outline: none;
      box-shadow: 0 0 0 4px rgba(122, 0, 0, 0.16);
   }

   html.night-mode .sr-consent-banner__panel,
   html[data-theme="dark"] .sr-consent-banner__panel {
      border-color: rgba(255, 255, 255, 0.12);
      background: rgba(24, 24, 30, 0.96);
      color: #fff;
   }

   html.night-mode .sr-consent-banner__title,
   html[data-theme="dark"] .sr-consent-banner__title {
      color: #fff;
   }

   html.night-mode .sr-consent-banner__text,
   html[data-theme="dark"] .sr-consent-banner__text {
      color: rgba(255, 255, 255, 0.72);
   }

   html.night-mode .sr-consent-banner__icon,
   html[data-theme="dark"] .sr-consent-banner__icon {
      background: rgba(255, 255, 255, 0.08);
      color: #ffb4b4;
   }

   html.night-mode .sr-consent-banner__text a,
   html[data-theme="dark"] .sr-consent-banner__text a {
      color: #ffb4b4;
   }

   @media (max-width: 640px) {
      .sr-consent-banner {
         right: 10px;
         bottom: 10px;
         left: 10px;
      }

      .sr-consent-banner__panel {
         grid-template-columns: auto minmax(0, 1fr);
         align-items: flex-start;
         padding: 14px;
         border-radius: 16px;
      }

      .sr-consent-banner__actions {
         grid-column: 1 / -1;
         width: 100%;
      }

      .sr-consent-banner__button {
         width: 100%;
      }
   }

/* Source: public_html/css/language_switcher_modal.php */

        html.night-mode,
        html.dark,
body.dark,
[data-theme="dark"],
html[data-theme="dark"] {
    --ls-bg: #141418;
    --ls-bg-2: #1b1b21;
    --ls-text: #f1f3f5;
    --ls-muted: #b0b6bd;
    --ls-border: rgba(255,255,255,0.12);
    --ls-border-2: rgba(255,255,255,0.10);
    --ls-shadow: 0 20px 60px rgba(0,0,0,.55);
    --ls-backdrop: rgba(0,0,0,.65);
  }

  .lang-switcher-trigger {
    height: 38px;
    border-radius: 8px;
    padding: 0 10px;
    border: 1px solid var(--ls-border);
    background: var(--ls-bg);
    color: var(--ls-text);
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
        transition: background 0.2s, border-color 0.2s;
    margin-left: 10px;
  }

  .lang-switcher-flag {
    width: 22px;
    height: 15px;
    object-fit: cover;
    border-radius: 3px;
    border: 1px solid var(--ls-border);
  }

  .lang-switcher-text {
    font-size: 12px;
    color: var(--ls-text);
  }

  .lang-modal-backdrop {
    position: fixed;
    inset: 0;
    background: var(--ls-backdrop);
    z-index: 97;
    display: none;
  }
  .lang-modal-backdrop.open { display: block; }

  .lang-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(760px, 92vw);
    max-height: 82vh;
    background: var(--ls-bg);
    color: var(--ls-text);
    border-radius: 12px;
    z-index: 98;
    display: none;
    box-shadow: var(--ls-shadow);
    border: 1px solid var(--ls-border-2);
  }
  .lang-modal.open { display: block; }

  .lang-modal-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 18px;
    border-bottom: 1px solid var(--ls-border-2);
  }
  .lang-modal-head h4 { margin: 0; font-size: 18px; color: var(--ls-text); }

  .lang-modal-close {
    border: 0;
    background: transparent;
    color: var(--ls-text);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
  }

  .lang-modal-search-wrap { padding: 10px 12px 0; }
  .lang-modal-search {
    width: 100%;
    height: 40px;
    border: 1px solid var(--ls-border);
    border-radius: 10px;
    padding: 0 12px;
    font-size: 14px;
    background: var(--ls-bg);
    color: var(--ls-text);
  }
  .lang-modal-search::placeholder { color: var(--ls-muted); }

  .lang-modal-list {
    list-style: none;
    margin: 0;
    padding: 10px;
    max-height: calc(82vh - 116px);
    overflow: auto;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 8px;
  }

  .lang-modal-item {
    width: 100%;
    border: 1px solid var(--ls-border-2);
    background: var(--ls-bg);
    color: var(--ls-text);
    border-radius: 10px;
    padding: 10px 12px;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
  }
  .lang-modal-item:hover {
    background: var(--ls-bg-2);
    border-color: var(--ls-border);
  }

  .lang-modal.is-loading .lang-modal-item {
    pointer-events: none;
    opacity: .58;
  }

  .lang-modal.is-loading .lang-modal-search,
  .lang-modal.is-loading .lang-modal-close {
    pointer-events: none;
    opacity: .55;
  }

  .lang-modal-item.is-loading {
    opacity: 1;
    border-color: #8b0000;
    background: rgba(139, 0, 0, .08);
  }

  .lang-modal-item.is-loading::after {
    content: "";
    width: 16px;
    height: 16px;
    margin-left: auto;
    border: 2px solid rgba(139, 0, 0, .24);
    border-top-color: #8b0000;
    border-radius: 50%;
    animation: sr-spin .7s linear infinite;
    flex: 0 0 auto;
  }

  @keyframes sr-spin {
    to {
      transform: rotate(360deg);
    }
  }

  .lang-modal-item img {
    width: 26px;
    height: 18px;
    object-fit: cover;
    border-radius: 3px;
    border: 1px solid var(--ls-border);
  }

  .lang-modal-item .lang-main {
    font-weight: 620;
    display: block;
    line-height: 1.2;
    color: var(--ls-text);
  }

  .lang-modal-item .country-main {
    color: var(--ls-muted);
    font-size: 13px;
    line-height: 1.2;
  }

  .lang-modal-empty {
    padding: 16px;
    color: var(--ls-muted);
    font-size: 14px;
    display: none;
  }
  .lang-modal-empty.show { display: block; }
.lang-switcher-trigger--footer{
  height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 14px;
  line-height: 1.2;
  border-radius: 0;
}

:root .lang-switcher-trigger--footer{
  color: #656c77;
}

.lang-switcher-trigger--footer .lang-switcher-text{
  font-size: 12px;
  font-weight: 400;
  color: inherit;
  cursor: pointer;
}

.lang-switcher-trigger--footer .lang-switcher-flag{
  width: 18px;
  height: 12px;
  border: 0;
}

/* Footer: chevron same tone as text */
.lang-switcher-trigger--footer .lang-switcher-chevron{
  margin-left: 4px;
  opacity: 0.85;
}

/* Footer: hover like links */
.lang-switcher-trigger--footer:hover{
  text-decoration: underline;
}

.lang-switcher-trigger--footer:hover .lang-switcher-chevron{
  opacity: 1;
}

.lang-switcher-chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 2px;
  opacity: 0.8;
}

/* Source: public_html/css/search_modal.php */
.sr-search-modal {
      z-index: 98;
   }

   .sr-search-modal-backdrop {
      z-index: 97;
      background: #050505;
   }

   .sr-search-modal-backdrop.show {
      opacity: 0.76;
   }

.sr-search-modal .modal-dialog {
      max-width: 980px;
      margin: 76px auto 24px;
      padding: 0 16px;
   }

   .sr-search-modal .modal-content {
      overflow: hidden;
      border: 1px solid rgba(46, 46, 46, 0.08);
      border-radius: 18px;
      box-shadow: 0 26px 80px rgba(18, 18, 18, 0.24);
   }

   .sr-search-modal__shell {
      max-height: calc(100vh - 100px);
      background: #fff;
      color: #1f1f1f;
      opacity: 1;
      isolation: isolate;
   }

   .sr-search-modal__top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 18px 20px 0;
   }

   .sr-search-modal__eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin: 0 0 4px;
      color: #6c6c6c;
      font-size: 13px;
      font-weight: 700;
   }

   .sr-search-modal__title {
      margin: 0;
      color: #171717;
      font-size: clamp(24px, 4vw, 38px);
      line-height: 1.05;
   }

   .sr-search-modal__close {
      flex: 0 0 auto;
      width: 42px;
      height: 42px;
      border: 1px solid #e8e8e8;
      border-radius: 999px;
      background: #f8f8f8;
      color: #1f1f1f;
   }

   .sr-search-modal__body {
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
      gap: 22px;
      overflow-y: auto;
      padding: 20px;
   }

   .sr-search-modal__form {
      position: relative;
      display: flex;
      align-items: center;
      gap: 10px;
      min-height: 68px;
      padding: 8px 8px 8px 18px;
      border: 1px solid #dedede;
      border-radius: 16px;
      background: #fafafa;
   }

   .sr-search-modal__form:focus-within {
      border-color: #7a0000;
      box-shadow: 0 0 0 4px rgba(122, 0, 0, 0.08);
   }

   .sr-search-modal__form-icon {
      color: #7a0000;
      font-size: 18px;
   }

   .sr-search-modal__input {
      flex: 1 1 auto;
      min-width: 0;
      border: 0;
      background: transparent;
      color: #1f1f1f;
      font-size: 18px;
      font-weight: 700;
      outline: none;
   }

   .sr-search-modal__input::placeholder {
      color: #8b8b8b;
      font-weight: 620;
   }

   .sr-search-modal__submit {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 48px;
      height: 48px;
      border: 0;
      border-radius: 14px;
      background: #7a0000;
      color: #fff;
      font-size: 20px;
   }

   .sr-search-modal__section {
      margin-top: 20px;
   }

   .sr-search-modal__section-title {
      margin: 0 0 10px;
      color: #454545;
      font-size: 13px;
      letter-spacing: 0.02em;
      text-transform: uppercase;
   }

   .sr-search-modal__filters .filter-tag {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
   }

   .sr-search-modal__filters .filter-tag a,
   .sr-search-modal__popular-link,
   .sr-search-modal__promo {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      border-radius: 999px;
      text-decoration: none;
   }

   .sr-search-modal__filters .filter-tag a {
      padding: 8px 12px;
      background: #f4eeee;
      color: #681313;
      font-size: 13px;
   }

   .sr-search-modal__popular-list {
      display: grid;
      gap: 8px;
      margin: 0;
      padding: 0;
      list-style: none;
   }

   .sr-search-modal__popular-link {
      width: 100%;
      justify-content: space-between;
      padding: 12px 14px;
      background: #f7f7f7;
      color: #272727;
   }

   .sr-search-modal__popular-link:hover,
   .sr-search-modal__filters .filter-tag a:hover {
      background: #ececec;
      color: #1f1f1f;
   }

   .sr-search-modal__promo {
      margin-top: 20px;
      padding: 12px 14px;
      background: #403D3D;
      color: #fff;
   }

   :hover .sr-search-modal__promo {
      color: #E6E6E6;
      background: #BF3F3F;
   }

   .sr-search-modal__feature {
      min-height: 100%;
      overflow: hidden;
      border-radius: 18px;
      background: #420000;
      color: #fff;
   }

   .sr-search-modal__feature-link {
      display: block;
      height: 100%;
      color: inherit;
      text-decoration: none;
   }

   .sr-search-modal__feature-media {
      position: relative;
      min-height: 245px;
      background: #2a2a2a;
   }

   .sr-search-modal__feature-media img {
      width: 100%;
      height: 100%;
      min-height: 245px;
      object-fit: cover;
   }

   .sr-search-modal__feature-badge {
      position: absolute;
      top: 14px;
      left: 14px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 8px 11px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.92);
      color: #7a0000;
      font-size: 12px;
   }

   .sr-search-modal__feature-copy {
      padding: 18px;
   }

   .sr-search-modal__feature-title {
      margin: 0;
      color: #fff;
      font-size: 22px;
      line-height: 1.18;
   }

   .sr-search-modal__feature-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 12px;
      color: rgba(255, 255, 255, 0.78);
      font-size: 13px;
      font-weight: 700;
   }

   .sr-search-modal__empty {
      display: grid;
      min-height: 100%;
      place-items: center;
      padding: 24px;
      color: rgba(255, 255, 255, 0.82);
      text-align: center;
   }

   html.night-mode .sr-search-modal__shell,
   html[data-theme="dark"] .sr-search-modal__shell {
      background: #17171d;
      color: #f5f5f5;
   }

   html.night-mode .sr-search-modal__title,
   html[data-theme="dark"] .sr-search-modal__title {
      color: #fff;
   }

   html.night-mode .sr-search-modal__form,
   html.night-mode .sr-search-modal__popular-link,
   html[data-theme="dark"] .sr-search-modal__form,
   html[data-theme="dark"] .sr-search-modal__popular-link {
      border-color: rgba(255, 255, 255, 0.12);
      background: #202029;
      color: #f5f5f5;
   }

   html.night-mode .sr-search-modal__input,
   html[data-theme="dark"] .sr-search-modal__input {
      color: #fff;
   }

   @media (max-width: 820px) {
      .sr-search-modal .modal-dialog {
         margin: 64px auto 12px;
      }

      .sr-search-modal__body {
         grid-template-columns: 1fr;
      }

      .sr-search-modal__feature-media,
      .sr-search-modal__feature-media img {
         min-height: 190px;
      }
   }

   @media (max-width: 520px) {
      .sr-search-modal .modal-dialog {
         margin: 0;
         padding: 0;
         max-width: none;
      }

      .sr-search-modal .modal-content {
         min-height: 100vh;
         border: 0;
         border-radius: 0;
      }

      .sr-search-modal__shell {
         max-height: none;
      }

      .sr-search-modal__top,
      .sr-search-modal__body {
         padding-left: 14px;
         padding-right: 14px;
      }

      .sr-search-modal__form {
         min-height: 60px;
         border-radius: 14px;
      }

      .sr-search-modal__input {
         font-size: 16px;
      }
   }

/* Source: public_html/event/ev.php */
.sr-event-shell {
      --sr-page-bg: #f8f7f5;
      --sr-card-bg: #ffffff;
      --sr-soft-bg: #f5f5f5;
      --sr-text: #1f1f1f;
      --sr-muted: #717171;
      --sr-border: rgba(0, 0, 0, .08);
      --sr-radius-lg: 18px;
      --sr-radius-md: 12px;
      --sr-shadow-sm: 0 8px 24px rgba(0, 0, 0, .06);
      --sr-shadow-md: 0 14px 34px rgba(0, 0, 0, .08);
    }
    body.sr-event-public-page {
      background: var(--sr-page-bg);
      height: auto !important;
      min-height: 100vh;
      overflow-x: hidden;
    }

    html:has(body.sr-event-public-page) {
      overflow-x: hidden;
    }

    .sr-event-shell {
      margin-top: 0;
      overflow-x: hidden;
      flex: 1 0 auto;
    }

    .sr-container {
      width: min(1140px, calc(100% - 30px));
      margin-inline: auto;
    }

    .sr-hero-media {
      overflow: hidden;
      border-radius: var(--sr-radius-lg);
      background: #111;
      box-shadow: var(--sr-shadow-md);
    }

    .sr-hero-media__image {
      display: block;
      width: 100%;
      height: clamp(280px, 48vw, 520px);
      object-fit: cover;
    }

    .sr-gallery {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 10px;
      margin-top: 12px;
    }

    .sr-gallery button {
      border: 0;
      padding: 0;
      height: 112px;
      border-radius: var(--sr-radius-md);
      overflow: hidden;
      background: #ddd;
    }

    .sr-gallery img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .2s ease;
    }

    .sr-gallery button:hover img {
      transform: scale(1.04);
    }

    .sr-card {
      background: var(--sr-card-bg);
      border: 1px solid var(--sr-border);
      border-radius: var(--sr-radius-lg);
      box-shadow: var(--sr-shadow-sm);
    }

    .sr-card__body {
      padding: clamp(20px, 3vw, 28px);
    }

    .sr-event-intro {
      margin-top: 18px;
    }

    .sr-event-intro__grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 270px;
      gap: 24px;
      align-items: start;
    }

    .sr-kicker {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 7px 12px;
      border-radius: 30px;
      background: var(--sr-soft-bg);
      border: 1px solid var(--sr-border);
      font-weight: 554;
      font-size: 13px;
      margin-bottom: 12px;
      color: var(--sr-text);
    }

    .sr-event-title {
      font-size: clamp(28px, 4vw, 42px);
      line-height: 1.12;
      letter-spacing: -0.02em;
      font-weight: 700;
      margin: 0 0 16px;
      color: var(--sr-text);
    }

    .sr-event-meta-row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-bottom: 12px;
    }

    .sr-event-meta {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 9px 12px;
      border-radius: 30px;
      background: var(--sr-soft-bg);
      border: 1px solid var(--sr-border);
      color: var(--sr-text);
      font-size: 14px;
      font-weight: 554;
    }

    .sr-event-address {
      margin: 0;
      color: var(--sr-muted);
      font-size: 14px;
      line-height: 1.6;
    }

    .sr-event-intro__side {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 12px;
    }

    .sr-intro-price-label {
      font-size: 13px;
      color: var(--sr-muted);
      font-weight: 554;
    }

    .sr-intro-price {
      font-size: 20px;
      font-weight: 700;
      line-height: 1.1;
      color: var(--sr-text);
    }

    .sr-actions {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .sr-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 44px;
      padding: 0 17px;
      border: 0;
      border-radius: 8px;
      font-weight: 620;
      text-decoration: none;
      transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
    }


    .sr-btn--primary {
      background: #7a0000;
      color: #fff;
      box-shadow: 0 10px 22px rgba(255, 45, 85, .24);
    }

    .sr-btn--primary:hover {
      background: #7a0000;
      transform: translateY(-2px);
      box-shadow: 0 14px 28px rgba(255, 45, 85, .32);
      color: #fff;
    }

    .sr-btn--light {
      background: var(--sr-soft-bg);
      color: var(--sr-text);
      border: 1px solid var(--sr-border);
    }

    .sr-btn--dark {
      background: #1f1f1f;
      color: #fff;
      width: 100%;
    }

    .sr-main-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 370px;
      gap: 24px;
      align-items: start;
      margin-top: 24px;
    }

    .sr-section-title {
      font-size: 21px;
      font-weight: 700;
      letter-spacing: -.015em;
      margin: 0 0 14px;
      color: var(--sr-text);
    }

    .sr-rich-text {
      color: #3f3f3f;
      font-size: 15px;
      line-height: 1.75;
    }

    .sr-rich-text img {
      max-width: 100%;
      height: auto;
      border-radius: var(--sr-radius-md);
    }

    .sr-sticky {
      position: sticky;
      top: 86px;
    }

    .sr-countdown {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 8px;
      margin-bottom: 20px;
    }

    .sr-countdown .countdown-item {
      min-height: 68px;
      padding: 10px 6px;
      border-radius: var(--sr-radius-md);
      background: var(--sr-soft-bg);
      color: var(--sr-text);
      display: grid;
      place-items: center;
      text-align: center;
      font-size: 10px;
      font-weight: 620;
      text-transform: uppercase;
      letter-spacing: .04em;
    }

    .sr-countdown span {
      display: block;
      font-size: 22px;
      line-height: 1;
      margin-bottom: 4px;
      color: #7a0000;
      font-weight: bold;
    }

    .sr-detail-list {
      display: grid;
      gap: 15px;
    }

    .sr-detail {
      display: grid;
      grid-template-columns: 42px minmax(0, 1fr);
      gap: 12px;
      align-items: start;
    }

    .sr-detail__icon {
      width: 42px;
      height: 42px;
      border-radius: var(--sr-radius-md);
      display: grid;
      place-items: center;
      color: #7a0000;
      background: rgba(255, 45, 85, .1);
    }

    .sr-detail h3 {
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: .06em;
      color: var(--sr-muted);
      font-weight: 700;
      margin: 0 0 4px;
    }

    .sr-detail p,
    .sr-detail h5 {
      margin: 0;
      font-size: 15px;
      font-weight: 554;
      color: var(--sr-text);
    }

    .sr-detail a {
      font-weight: 620;
      color: #7a0000;
      text-decoration: none;
    }

    .sr-ticket-block {
      border-top: 1px solid var(--sr-border);
      padding-top: 20px;
      margin-top: 20px;
    }

    .sr-ticket-card {
      border: 1px solid var(--sr-border);
      border-radius: var(--sr-radius-md);
      padding: 15px;
      margin-bottom: 12px;
      background: #fff;
    }

    .sr-ticket-card__top {
      display: flex;
      justify-content: space-between;
      gap: 14px;
      align-items: start;
      margin-bottom: 10px;
    }

    .sr-ticket-card h4 {
      font-size: 16px;
      font-weight: 700;
      margin: 0;
      color: var(--sr-text);
    }

    .sr-ticket-card p {
      color: var(--sr-muted);
      margin: 8px 0 0;
      font-size: 14px;
      line-height: 1.55;
    }

    .sr-price {
      font-weight: 700;
      white-space: nowrap;
      color: var(--sr-text);
    }

    .sr-sold-out {
      color: #7a0000;
      font-weight: 700;
    }

    .select-ticket-action {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 14px;
    }

    .counter {
      display: inline-grid;
      grid-template-columns: 36px 50px 36px;
      align-items: center;
      overflow: hidden;
      border: 1px solid var(--sr-border);
      border-radius: 8px;
      background: #fff;
    }

    .counter span {
      display: grid;
      place-items: center;
      cursor: pointer;
      font-weight: 700;
      user-select: none;
    }

    .counter input {
      width: 50px;
      height: 36px;
      text-align: center;
      border: 0;
      border-left: 1px solid var(--sr-border);
      border-right: 1px solid var(--sr-border);
      font-weight: 700;
      appearance: textfield;
    }

    .counter input::-webkit-outer-spin-button,
    .counter input::-webkit-inner-spin-button {
      appearance: none;
      margin: 0;
    }

    .xtotel-tickets-count {
      display: flex;
      justify-content: space-between;
      gap: 16px;
      align-items: center;
      border-radius: var(--sr-radius-md);
      background: var(--sr-soft-bg);
      color: var(--sr-text);
      padding: 15px;
      margin: 16px 0;
    }

    .xtotel-tickets-count .x-title {
      color: var(--sr-muted);
      font-weight: 620;
    }

    .xtotel-tickets-count h4 {
      margin: 0;
      color: var(--sr-text);
      font-weight: 700;
    }

    .sr-host {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin-top: 18px;
      padding-top: 18px;
      border-top: 1px solid var(--sr-border);
    }

    .sr-host a {
      color: #7a0000;
      font-weight: 620;
      text-decoration: none;
    }

    .sr-more-events {
      margin-top: 38px;
      padding: 10px 60px;
    }

    .sr-more-events__head {
      display: flex;
      justify-content: space-between;
      gap: 16px;
      align-items: end;
      margin-bottom: 8px;
    }

    .sr-more-events__head h2 {
      font-size: 24px;
      font-weight: 700;
      letter-spacing: -.015em;
      margin: 0;
      color: var(--sr-text);
    }

    .sr-more-events__head a {
      color: #7a0000;
      font-weight: 620;
      text-decoration: none;
    }

    .sr-more-card {
      background: #fff;
      border-radius: var(--sr-radius-lg);
      overflow: hidden;
      border: 1px solid var(--sr-border);
      box-shadow: var(--sr-shadow-sm);
      margin: 16px 4px;
    }

    .sr-more-card img {
      width: 100%;
      height: 180px;
      object-fit: cover;
    }

    .sr-more-card__body {
      padding: 15px;
    }

    .sr-more-card__title {
      display: block;
      color: var(--sr-text);
      font-weight: 700;
      line-height: 1.3;
      min-height: 42px;
      text-decoration: none;
    }

    .sr-more-card__meta {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      color: var(--sr-muted);
      font-size: 13px;
      font-weight: 554;
      margin-top: 11px;
    }

    .bookmark-icon {
      position: absolute;
      top: 12px;
      right: 12px;
      z-index: 2;
    }

    .sr-thumb-wrap {
      position: relative;
    }

    .modal-content {
      border: 0;
      border-radius: var(--sr-radius-lg);
      overflow: hidden;
    }

    #modalImage {
      width: 100%;
      border-radius: var(--sr-radius-lg);
    }

    @media (max-width: 991px) {

      .sr-event-intro__grid,
      .sr-main-grid {
        grid-template-columns: 1fr;
      }

      .sr-sticky {
        position: static;
      }

      .sr-event-intro__side {
        align-items: flex-start;
      }

      .sr-actions {
        flex-direction: row;
        flex-wrap: wrap;
      }
    }

    @media (max-width: 575px) {
      .sr-container {
        width: min(100% - 20px, 1140px);
      }

      .sr-event-shell {
        padding-top: 18px;
      }

      .sr-hero-media,
      .sr-card {
        border-radius: 14px;
      }

      .sr-hero-media__image {
        height: clamp(260px, 78vw, 420px);
      }

      .sr-event-title {
        font-size: 20px;
      }

      .sr-gallery {
        grid-template-columns: repeat(2, 1fr);
      }

      .sr-countdown {
        grid-template-columns: repeat(2, 1fr);
      }

      .sr-ticket-card__top,
      .select-ticket-action,
      .sr-more-events__head {
        flex-direction: column;
        align-items: stretch;
      }

      .sr-actions {
        flex-direction: column;
        width: 100%;
      }
    }

/* Source: public_html/evnts/android_home.php */
body.sr-android-home-page {
            background-color: white;
            font-family: Arial, sans-serif;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            min-height: 100vh;
            margin: 0;
        }
    body.sr-android-home-page .logo {
            max-width: 50px;
            margin-bottom: 1px;
            padding-top: 10px;
        }
body.sr-android-home-page .slider-container,
body.sr-ios-home-page .slider-container {
            width: 90%;
            height: 300px;
            margin-bottom: 20px;
            position: relative;
            overflow: hidden;
        }
        body.sr-android-home-page .slide,
        body.sr-ios-home-page .slide {
            display: none;
            position: absolute;
            width: 100%;
            height: 100%;
        }
        body.sr-android-home-page .slide img,
        body.sr-ios-home-page .slide img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }
        body.sr-android-home-page .slide.active,
        body.sr-ios-home-page .slide.active {
            display: block; 
        }
        body.sr-android-home-page .slider-container .slider-pagination,
        body.sr-ios-home-page .slider-container .slider-pagination {
            position: absolute;
            bottom: 10px;
            width: 100%;
            text-align: center;
        }
        body.sr-android-home-page .dot,
        body.sr-ios-home-page .dot {
            display: inline-block;
            width: 10px;
            height: 10px;
            margin: 0 5px;
            background-color: #bbb;
            border-radius: 50%;
            cursor: pointer;
        }
        body.sr-android-home-page .dot.active,
        body.sr-ios-home-page .dot.active {
            background-color: #2E2E2E;
        }
         .login-btn, .get-started-btn {
            padding: 15px 40px;
            width: 90%;
            max-width: 250px;
            font-size: 15px;
            margin: 10px 0;
            border-radius: 5px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
            display: block;
            text-align: center;
            text-decoration: none;
        }
        .login-btn {
            background-color: white;
            color: #2E2E2E;
            border: 2px solid #2E2E2E;
        }
        .get-started-btn {
            background-color: #2E2E2E;
            color: white;
            border: 2px solid white;
        }
        .action-buttons {
              display: flex;
    justify-content: space-between; 
    width: 90%;
    max-width: 300px;
    margin: 0 auto;
        }
        body.sr-ios-home-page .action-btn {
            flex: 1;
            display: flex;
            flex-direction: column;
            align-items: center;
            margin: 20px;
            padding: 10px;
            color: #98009C;
            background-color: transparent;
            border: 2px solid white;
             text-decoration: none;
        }
        .action-text {
    font-size: 12px;
    text-align: center;
}
        body.sr-ios-home-page .action-btn i {
            width: 40px;
            height: 40px;
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: #AFF0FF; 
            color: #98009C;
            font-size: 14px;
            margin-bottom: 5px;
            border-radius: 5px; 
        }
        .footer {
            font-size: 14px;
            color: #8A8F98;
            margin-top: 20px;
        }

/* Source: public_html/evnts/checkout.php */
.checkout-shell {
            display: grid;
            gap: 24px;
        }

        body.checkout-page {
            --checkout-page-bg: var(--sr-bg, var(--bs-body-bg, #f4f5f7));
            --checkout-panel-bg: var(--sr-panel, var(--checkout-page-bg, #f4f5f7));
            --checkout-panel-soft: var(--sr-panel-soft, var(--bs-tertiary-bg, #f8fafc));
            --checkout-panel-border: color-mix(in srgb, var(--checkout-panel-bg) 78%, var(--bs-body-color, #111111) 22%);
            --checkout-panel-text: var(--bs-body-color, #111111);
            --checkout-panel-muted: color-mix(in srgb, var(--checkout-panel-text) 62%, transparent);
            background: var(--checkout-page-bg);
            color: var(--checkout-panel-text);
        }

        .checkout-is-loading [data-checkout-content] {
            display: none;
        }

        .checkout-is-ready [data-checkout-skeleton] {
            display: none;
        }

        .checkout-loading-shell {
            flex: 1 0 auto;
            padding: 34px 0 80px;
        }

        .checkout-skeleton-hero,
        .checkout-skeleton-panel {
            border: 1px solid var(--checkout-panel-border);
            border-radius: 20px;
            background: linear-gradient(180deg, color-mix(in srgb, var(--checkout-panel-bg) 94%, transparent) 0%, color-mix(in srgb, var(--checkout-panel-soft) 78%, transparent) 100%);
            box-shadow: 0 14px 42px rgba(0, 0, 0, .08);
        }

        .checkout-skeleton-hero {
            display: grid;
            gap: 14px;
            margin-bottom: 24px;
            padding: 24px;
        }

        .checkout-skeleton-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.55fr) minmax(320px, .85fr);
            gap: 24px;
            align-items: start;
        }

        .checkout-skeleton-stack {
            display: grid;
            gap: 20px;
        }

        .checkout-skeleton-panel {
            display: grid;
            gap: 14px;
            min-height: 184px;
            padding: 24px;
        }

        .checkout-skeleton-panel--tall {
            min-height: 280px;
        }

        .checkout-skeleton-summary {
            position: sticky;
            top: 100px;
            min-height: 320px;
        }

        .checkout-skeleton-event {
            display: grid;
            grid-template-columns: 76px minmax(0, 1fr);
            gap: 16px;
            align-items: center;
            margin-bottom: 8px;
        }

        .checkout-skeleton-thumb,
        .checkout-skeleton-line {
            position: relative;
            overflow: hidden;
            background: color-mix(in srgb, var(--checkout-panel-text) 10%, var(--checkout-panel-soft));
        }

        .checkout-skeleton-thumb::after,
        .checkout-skeleton-line::after {
            content: "";
            position: absolute;
            inset: 0;
            transform: translateX(-100%);
            background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--checkout-panel-bg) 70%, #ffffff 30%), transparent);
            animation: checkoutSkeletonShimmer 1.2s ease-in-out infinite;
        }

        .checkout-skeleton-thumb {
            display: block;
            width: 76px;
            height: 76px;
            border-radius: 18px;
        }

        .checkout-skeleton-line {
            display: block;
            width: 72%;
            height: 14px;
            border-radius: 999px;
        }

        .checkout-skeleton-line--short {
            width: 150px;
        }

        .checkout-skeleton-line--title {
            width: min(460px, 86%);
            height: 34px;
        }

        .checkout-skeleton-line--heading {
            width: 240px;
            height: 20px;
        }

        .checkout-skeleton-line--wide {
            width: 92%;
        }

        .checkout-skeleton-line--medium {
            width: 56%;
        }

        @keyframes checkoutSkeletonShimmer {
            100% {
                transform: translateX(100%);
            }
        }

        html.night-mode body.checkout-page,
        html[data-theme="dark"] body.checkout-page {
            --checkout-page-bg: #0d0706;
            --checkout-panel-bg: #160606;
            --checkout-panel-soft: #210909;
            --checkout-panel-border: rgba(255, 222, 199, 0.16);
            --checkout-panel-text: #fff3ea;
            --checkout-panel-muted: #d2aa98;
        }

        .checkout-panel {
            background: linear-gradient(180deg, color-mix(in srgb, var(--checkout-panel-bg) 94%, transparent) 0%, color-mix(in srgb, var(--checkout-panel-soft) 78%, transparent) 100%);
            color: var(--checkout-panel-text);
            border: 1px solid var(--checkout-panel-border);
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 14px 42px rgba(0, 0, 0, .08);
        }

        .checkout-page-hero {
            display: flex;
            justify-content: space-between;
            gap: 18px;
            align-items: flex-start;
            margin-bottom: 24px;
        }

        .checkout-page-hero__copy {
            max-width: 780px;
        }

        .checkout-page-hero__eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 6px 12px;
            border-radius: 999px;
            border: 1px solid var(--checkout-panel-border);
            background: var(--checkout-panel-soft);
            color: var(--checkout-panel-text);
            font-size: 13px;
            margin-bottom: 12px;
        }

        .checkout-page-hero__title {
            margin: 0;
            font-size: clamp(28px, 4vw, 42px);
            letter-spacing: -0.04em;
            color: var(--checkout-panel-text);
        }

        .checkout-layout {
            display: grid;
            grid-template-columns: minmax(0, 1.55fr) minmax(320px, .85fr);
            gap: 24px;
            align-items: start;
        }

        .checkout-stack {
            display: grid;
            gap: 20px;
        }

        .checkout-summary-card,
        .checkout-sidebar-card {
            position: sticky;
            top: 100px;
        }

        .checkout-event-card {
            display: flex;
            gap: 16px;
            align-items: center;
            margin-bottom: 20px;
        }

        .checkout-event-card img {
            width: 92px;
            height: 92px;
            object-fit: cover;
            border-radius: 18px;
            display: none;
            background: var(--checkout-panel-soft);
            border: 1px solid var(--checkout-panel-border);
        }

        .checkout-line {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto auto;
            gap: 16px;
            align-items: center;
            padding: 14px 0;
            border-bottom: 1px solid var(--checkout-panel-border);
        }

        .checkout-line__title {
            font-weight: 700;
            color: var(--checkout-panel-text);
            overflow-wrap: anywhere;
        }

        .checkout-line__meta {
            color: var(--checkout-panel-muted);
            font-size: 13px;
            margin-top: 4px;
        }

        .checkout-line__controls {
            display: flex;
            gap: 8px;
            align-items: center;
            min-width: 0;
        }

        .checkout-qty-btn,
        .checkout-remove-btn {
            border: 1px solid var(--checkout-panel-border);
            background: color-mix(in srgb, var(--checkout-panel-bg) 84%, var(--checkout-panel-soft));
            border-radius: 12px;
            padding: 8px 12px;
            color: var(--checkout-panel-text);
        }

        .checkout-remove-btn {
            color: #920000;
        }

        .checkout-qty-input {
            width: 72px;
            border: 1px solid var(--checkout-panel-border);
            border-radius: 12px;
            padding: 8px;
            text-align: center;
            background: var(--checkout-panel-bg);
            color: var(--checkout-panel-text);
        }

        .checkout-line__price {
            font-weight: 700;
            white-space: nowrap;
            color: var(--checkout-panel-text);
        }

        .checkout-warning,
        .checkout-line-warning {
            background: color-mix(in srgb, var(--checkout-panel-soft) 82%, #f3d18c 18%);
            border: 1px solid color-mix(in srgb, var(--checkout-panel-border) 70%, #f3d18c 30%);
            color: #7d5900;
            border-radius: 12px;
            padding: 10px 12px;
            margin-top: 10px;
            font-size: 14px;
        }

        .checkout-flash {
            border-radius: 16px;
            padding: 14px 16px;
            margin-bottom: 18px;
            border: 1px solid var(--checkout-panel-border);
            background: var(--checkout-panel-soft);
            color: var(--checkout-panel-text);
            font-weight: 620;
        }

        .checkout-flash--success {
            background: color-mix(in srgb, var(--checkout-panel-soft) 80%, #b7efc5 20%);
            border-color: color-mix(in srgb, var(--checkout-panel-border) 70%, #52b788 30%);
            color: #135b3a;
        }

        .checkout-flash--error {
            background: color-mix(in srgb, var(--checkout-panel-soft) 80%, #ffd6d6 20%);
            border-color: color-mix(in srgb, var(--checkout-panel-border) 70%, #c1121f 30%);
            color: #8f0010;
        }

        html.night-mode .checkout-flash--success,
        html[data-theme="dark"] .checkout-flash--success {
            color: #d9ffe6;
        }

        html.night-mode .checkout-flash--error,
        html[data-theme="dark"] .checkout-flash--error {
            color: #ffd7dd;
        }

        .checkout-seat-summary {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            align-items: center;
            margin-top: 10px;
        }

        .checkout-seat-chip {
            border: 1px solid var(--checkout-panel-border);
            border-radius: 999px;
            padding: 5px 10px;
            font-size: 13px;
            background: var(--checkout-panel-soft);
            color: var(--checkout-panel-text);
        }

        .checkout-seat-action {
            border: 0;
            background: linear-gradient(135deg, #7b0202, #a31d1d);
            color: #fff;
            border-radius: 999px;
            padding: 7px 12px;
            font-weight: 700;
        }

        .checkout-seat-picker {
            grid-column: 1 / -1;
            border: 1px solid var(--checkout-panel-border);
            border-radius: 16px;
            padding: 14px;
            background: var(--checkout-panel-soft);
            margin-top: 12px;
        }

        .checkout-seat-picker__grid {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 10px;
        }

        .checkout-seat-btn {
            border: 1px solid var(--checkout-panel-border);
            border-radius: 10px;
            background: var(--checkout-panel-bg);
            color: var(--checkout-panel-text);
            min-width: 48px;
            padding: 8px 10px;
            font-weight: 700;
        }

        .checkout-seat-btn.is-selected {
            background: #7b0202;
            border-color: #7b0202;
            color: #fff;
        }

        .checkout-seat-btn[disabled] {
            opacity: .45;
            cursor: not-allowed;
        }

        .checkout-seat-picker__footer {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
            margin-top: 14px;
        }

        .checkout-seat-picker__message {
            display: none;
            width: 100%;
            color: #7d5900;
            font-size: 13px;
            line-height: 1.4;
        }

        .checkout-seat-picker__message.is-visible {
            display: block;
        }

        .checkout-empty-card {
            background: linear-gradient(180deg, var(--checkout-panel-soft) 0%, var(--checkout-panel-bg) 100%);
            border: 1px solid var(--checkout-panel-border);
            border-radius: 18px;
            padding: 20px;
            color: var(--checkout-panel-text);
        }

        .checkout-section-title {
            font-size: 20px;
            margin-bottom: 18px;
        }

        .checkout-summary-rows>div {
            display: flex;
            justify-content: space-between;
            gap: 12px;
            padding: 10px 0;
            border-bottom: 1px solid var(--checkout-panel-border);
        }

        .checkout-summary-rows>div.is-hidden {
            display: none;
            border-bottom: 0;
            padding: 0;
        }

        .checkout-summary-actions .main-btn {
            margin-top: 14px;
        }

        .checkout-page .form-control,
        .checkout-page select.form-control,
        .checkout-page textarea.form-control {
            background: color-mix(in srgb, var(--checkout-panel-bg) 88%, var(--checkout-panel-soft));
            color: var(--checkout-panel-text);
            border-color: var(--checkout-panel-border);
        }

        .checkout-page .form-label,
        .checkout-page .checkout-section-title,
        .checkout-page .checkout-event-card h4,
        .checkout-page .checkout-summary-rows,
        .checkout-page .checkout-summary-rows strong,
        .checkout-page .checkout-summary-rows span,
        .checkout-page .checkout-empty-card,
        .checkout-page .checkout-auth-card,
        .checkout-page .checkout-auth-copy {
            color: var(--checkout-panel-text);
        }

        .checkout-page .text-muted,
        .checkout-page .small {
            color: var(--checkout-panel-muted);
        }

        .checkout-page .form-control:focus {
            border-color: color-mix(in srgb, #7b0202 45%, var(--checkout-panel-border));
            box-shadow: 0 0 0 .2rem rgba(123, 2, 2, .12);
        }

        .checkout-auth-card {
            border: 1px solid var(--checkout-panel-border);
            border-radius: 16px;
            padding: 20px;
            background: var(--checkout-panel-bg);
            color: var(--checkout-panel-text);
        }

        .checkout-auth-copy {
            margin: 0 0 18px;
            color: var(--checkout-panel-muted);
            line-height: 1.55;
        }

        .checkout-auth-actions {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
        }

        .checkout-auth-accordion {
            display: grid;
            gap: 12px;
        }

        .checkout-auth-toggle {
            width: 100%;
            border: 1px solid var(--checkout-panel-border);
            background: var(--checkout-panel-bg);
            color: var(--checkout-panel-text);
            border-radius: 16px;
            padding: 16px 18px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            text-align: left;
            font-weight: 520;
        }

        .checkout-auth-toggle::after {
            content: "\f107";
            font-family: "Font Awesome 5 Free";
            transition: transform .2s ease;
        }

        .checkout-auth-toggle[aria-expanded="true"]::after {
            transform: rotate(180deg);
        }

        .checkout-auth-collapse {
            margin-top: 10px;
        }

        .checkout-auth-form-copy {
            margin: 0 0 4px;
            color: var(--checkout-panel-muted);
            line-height: 1.5;
        }

        .checkout-auth-actions .main-btn {
            min-width: 180px;
        }

        @media (max-width: 991px) {
            .checkout-layout {
                grid-template-columns: 1fr;
            }

            .checkout-skeleton-grid {
                grid-template-columns: 1fr;
            }

            .checkout-summary-card,
            .checkout-sidebar-card,
            .checkout-skeleton-summary {
                position: static;
            }

            .checkout-page-hero {
                flex-direction: column;
            }
        }

        @media (max-width: 575px) {
            .checkout-loading-shell {
                padding: 24px 0 56px;
            }

            .checkout-skeleton-hero,
            .checkout-skeleton-panel {
                border-radius: 16px;
                padding: 18px;
            }

            .checkout-skeleton-event {
                grid-template-columns: 60px minmax(0, 1fr);
            }

            .checkout-skeleton-thumb {
                width: 60px;
                height: 60px;
                border-radius: 14px;
            }

            .checkout-panel {
                border-radius: 16px;
                padding: 18px;
            }

            .checkout-line {
                grid-template-columns: minmax(0, 1fr);
                gap: 12px;
                align-items: stretch;
                padding: 16px 0;
            }

            .checkout-line__main,
            .checkout-line__controls,
            .checkout-line__price {
                min-width: 0;
                width: 100%;
            }

            .checkout-line__controls {
                display: grid;
                grid-template-columns: 44px minmax(64px, 1fr) 44px;
                gap: 8px;
                align-items: center;
            }

            .checkout-qty-btn,
            .checkout-remove-btn,
            .checkout-qty-input {
                min-height: 44px;
                font-size: 16px;
            }

            .checkout-qty-btn {
                padding: 0;
                width: 44px;
                font-weight: 556;
            }

            .checkout-qty-input {
                width: 100%;
                padding: 8px 6px;
            }

            .checkout-remove-btn {
                grid-column: 1 / -1;
                width: 100%;
                padding: 10px 12px;
            }

            .checkout-line__price {
                justify-self: stretch;
                text-align: right;
                font-size: 16px;
            }
        }

/* Source: public_html/evnts/ios_home.php */
body.sr-ios-home-page {
            background-color: white;
            font-family: Arial, sans-serif;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            min-height: 100vh;
            margin: 0;
        }
    body.sr-ios-home-page .logo {
            max-width: 50px;
            margin-bottom: 1px;
            padding-top: 1px;
        }






        .dot.active {
            background-color: #383838;
        }

        .login-btn {
            background-color: white;
            color: #383838;
            border: 2px solid #383838;
        }
        .get-started-btn {
            background-color: #383838;
            color: white;
            border: 2px solid white;
        }





        
       
@media (min-width: 768px) { 
    body.sr-ios-home-page .logo {
        max-width: 100px; 
    }
    .slider-container {
        width: 95%; 
        height: 400px;
    }
    .login-btn, .get-started-btn {
        padding: 20px 60px;
        font-size: 18px;
    }
    .action-buttons {
        max-width: 500px;
    }
    body.sr-ios-home-page .action-btn i {
        width: 60px;
        height: 60px;
        font-size: 20px;
    }
    .action-text {
        font-size: 14px;
    }
}

@media (min-width: 1024px) {
    body.sr-ios-home-page .logo {
        max-width: 150px;
    }
    .slider-container {
        width: 95%; 
        height: 500px; 
    }
    .login-btn, .get-started-btn {
        padding: 25px 70px;
        font-size: 20px;
    }
    .action-buttons {
        max-width: 600px;
    }
    body.sr-ios-home-page .action-btn i {
        width: 80px;
        height: 80px;
        font-size: 24px;
    }
    .action-text {
        font-size: 16px;
    }
}

/* Source: public_html/organiser/manage-widget.php */
.success-alert {
            background-color: green;
            color: white;
            padding: 10px;
            border-radius: 5px;
            text-align: center;
        }


/* Source: public_html/organiser/myaccount.php */
.payout-page {
            background: #f6f8fb;
            min-height: calc(100vh - 60px);
        }

        .payout-shell {
            max-width: 1180px;
            margin: 0 auto;
            padding: 28px 16px 56px;
        }

        .payout-hero {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 320px;
            gap: 18px;
            align-items: stretch;
            margin-bottom: 18px;
        }

        .payout-hero__main,
        .payout-panel,
        .payout-side-panel,
        .payout-empty {
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 8px;
        }

        .payout-hero__main {
            padding: 24px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            gap: 20px;
        }

        .payout-kicker {
            color: #6E0000;
            font-size: 12px;
            letter-spacing: .06em;
            text-transform: uppercase;
            margin-bottom: 8px;
        }

        .payout-hero h1 {
            color: #101827;
            font-size: clamp(1.8rem, 3vw, 2.8rem);
            line-height: 1.05;
            margin: 0;
        }

        .payout-hero p {
            color: #526071;
            line-height: 1.6;
            margin: 12px 0 0;
            max-width: 720px;
        }

        .payout-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
        }

        .payout-btn {
            height: 42px;
            border: 1px solid #6E0000;
            background: #6E0000;
            color: #fff;
            border-radius: 8px;
            padding: 0 14px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            text-decoration: none;
        }

        .payout-btn:hover {
            color: #fff;
            text-decoration: none;
            background: #520000;
        }

        .payout-btn.secondary {
            background: #fff;
            color: #374151;
            border-color: #d1d5db;
        }

        .payout-status-card {
            background: #111827;
            color: #fff;
            border-radius: 8px;
            padding: 20px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            gap: 22px;
        }

        .payout-status-card__icon {
            width: 46px;
            height: 46px;
            border-radius: 8px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: rgba(255, 255, 255, .12);
            font-size: 18px;
        }

        .payout-status-card strong {
            display: block;
            font-size: 1.55rem;
            line-height: 1;
            margin-bottom: 6px;
        }

        .payout-status-card span {
            color: rgba(255, 255, 255, .72);
        }

        .payout-badge {
            width: fit-content;
            border-radius: 999px;
            padding: 7px 10px;
            font-size: 12px;
            display: inline-flex;
            align-items: center;
            gap: 7px;
        }

        .payout-badge.is-ready {
            color: #065f46;
            background: #d1fae5;
        }

        .payout-badge.is-needed {
            color: #7c2d12;
            background: #ffedd5;
        }

        .payout-grid {
            display: block;
        }

        .payout-panel {
            padding: 20px;
        }

        .payout-panel__head,
        .payout-side-panel__head {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 16px;
        }

        .payout-panel h2,
        .payout-side-panel h2 {
            color: #111827;
            font-size: 1.2rem;
            margin: 0;
        }

        .payout-panel__head p,
        .payout-side-panel__head p {
            color: #64748b;
            margin: 4px 0 0;
        }

        .bank-card-modern {
            border: 1px solid #e5e7eb;
            border-radius: 8px;
            overflow: hidden;
            background: linear-gradient(135deg, #1f2937 0%, #111827 60%, #6E0000 100%);
            color: #fff;
        }

        .bank-card-modern__top {
            padding: 20px;
            min-height: 180px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            gap: 24px;
        }

        .bank-card-modern__bank {
            display: flex;
            justify-content: space-between;
            gap: 12px;
        }

        .bank-card-modern__bank h3 {
            margin: 0;
            font-size: 1.2rem;
        }

        .bank-card-modern__bank span,
        .bank-card-modern__name span {
            color: rgba(255, 255, 255, .7);
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: .04em;
        }

        .bank-card-modern__number {
            font-size: 1.55rem;
            letter-spacing: .05em;
        }

        .bank-card-modern__name strong {
            display: block;
            margin-top: 4px;
            font-size: 1rem;
        }

        .bank-card-modern__meta {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 1px;
            background: rgba(255, 255, 255, .18);
        }

        .bank-card-modern__meta div {
            background: #fff;
            padding: 14px;
        }

        .bank-card-modern__meta span {
            color: #6b7280;
            display: block;
            font-size: 12px;
            margin-bottom: 3px;
        }

        .bank-card-modern__meta strong {
            color: #111827;
        }

        .bank-card-modern__actions {
            display: flex;
            gap: 10px;
            padding: 14px;
            background: #fff;
        }

        .payout-icon-btn {
            width: 40px;
            height: 40px;
            border-radius: 8px;
            border: 1px solid #d1d5db;
            background: #fff;
            color: #111827;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
        }

        .payout-icon-btn.danger {
            color: #b91c1c;
            border-color: #fecaca;
            background: #fff5f5;
        }

        .payout-empty {
            padding: 34px 20px;
            text-align: center;
            color: #64748b;
        }

        .payout-empty i {
            width: 54px;
            height: 54px;
            border-radius: 8px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #6E0000;
            background: #fff1f2;
            font-size: 22px;
            margin-bottom: 14px;
        }

        .payout-empty h3 {
            color: #111827;
            margin-bottom: 7px;
        }

        .payout-alert {
            border: 0;
            border-radius: 8px;
            padding: 12px 14px;
        }

        .payout-modal .modal-content {
            border: 0;
            border-radius: 8px;
            overflow: hidden;
        }

        .payout-modal .modal-header {
            border-bottom: 1px solid #e5e7eb;
            padding: 18px 20px;
        }

        .payout-modal .modal-title {
            color: #111827;
        }

        .payout-form-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 14px;
        }

        .payout-form-grid .full {
            grid-column: 1 / -1;
        }

        .payout-form-grid label {
            color: #374151;
            font-size: 13px;
            margin-bottom: 6px;
        }

        .payout-form-grid .form-control,
        .payout-form-grid .form-select {
            min-height: 42px;
            border-radius: 8px;
        }

        .night-mode .payout-page,
        html.night-mode .payout-page,
        html[data-theme="dark"] .payout-page {
            background: #0f1218;
        }

        .night-mode .payout-hero__main,
        .night-mode .payout-panel,
        .night-mode .payout-empty,
        html.night-mode .payout-hero__main,
        html.night-mode .payout-panel,
        html.night-mode .payout-empty,
        html[data-theme="dark"] .payout-hero__main,
        html[data-theme="dark"] .payout-panel,
        html[data-theme="dark"] .payout-empty {
            background: #151922;
            border-color: #293142;
        }

        .night-mode .payout-hero h1,
        .night-mode .payout-panel h2,
        .night-mode .payout-empty h3,
        html.night-mode .payout-hero h1,
        html.night-mode .payout-panel h2,
        html.night-mode .payout-empty h3,
        html[data-theme="dark"] .payout-hero h1,
        html[data-theme="dark"] .payout-panel h2,
        html[data-theme="dark"] .payout-empty h3 {
            color: #f8fafc;
        }

        .night-mode .payout-hero p,
        .night-mode .payout-panel__head p,
        .night-mode .payout-empty,
        html.night-mode .payout-hero p,
        html.night-mode .payout-panel__head p,
        html.night-mode .payout-empty,
        html[data-theme="dark"] .payout-hero p,
        html[data-theme="dark"] .payout-panel__head p,
        html[data-theme="dark"] .payout-empty {
            color: #cbd5e1;
        }

        @media (max-width: 991.98px) {
            .payout-hero {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 575.98px) {
            .payout-shell {
                padding-inline: 12px;
            }

            .payout-hero__main,
            .payout-panel {
                padding: 16px;
            }

            .payout-form-grid,
            .bank-card-modern__meta {
                grid-template-columns: 1fr;
            }

            .payout-actions,
            .bank-card-modern__actions {
                flex-direction: column;
            }

            .payout-btn,
            .payout-icon-btn {
                width: 100%;
            }
        }

/* Source: public_html/organiser/orga_head.php */
.header--organiser ~ .wrapper-body {
        padding-top: var(--sr-page-top-gap, 18px);
    }

    @media (max-width: 575.98px) {

    }

/* Source: public_html/organiser/panel-overview.php */
.sr-org-overview {
            color: #371F1F;
        }

        .sr-org-hero {
            background: linear-gradient(135deg, #281010 0%, #4A2222 48%, #C43D3D 100%);
            border-radius: 8px;
            color: #fff;
            padding: 28px;
            overflow: hidden;
            position: relative;
        }

        .sr-org-hero::after {
            background: rgba(255, 255, 255, 0.08);
            border-radius: 999px;
            content: "";
            height: 240px;
            position: absolute;
            right: -80px;
            top: -90px;
            width: 240px;
        }

        .sr-org-hero-main {
            align-items: center;
            display: flex;
            gap: 18px;
            position: relative;
            z-index: 1;
        }

        .sr-org-avatar,
        .sr-org-avatar-fallback {
            align-items: center;
            background: #fff;
            border: 3px solid rgba(255, 255, 255, 0.5);
            border-radius: 50%;
            display: flex;
            flex: 0 0 72px;
            font-size: 22px;
            font-weight: 520;
            height: 72px;
            justify-content: center;
            object-fit: cover;
            width: 72px;
        }

        .sr-org-avatar-fallback {
            color: #4A2222;
        }

        .sr-org-hero h1 {
            color: #fff;
            font-size: clamp(26px, 3vw, 40px);
            letter-spacing: 0;
            line-height: 1.1;
            margin: 0 0 8px;
        }

        .sr-org-hero p {
            color: rgba(255, 255, 255, 0.78);
            margin: 0;
            max-width: 680px;
        }

        .sr-org-hero-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            justify-content: flex-end;
            position: relative;
            z-index: 1;
        }

        .sr-org-action-btn {
            align-items: center;
            background: rgba(255, 255, 255, 0.14);
            border: 1px solid rgba(255, 255, 255, 0.22);
            border-radius: 8px;
            color: #fff;
            display: inline-flex;
            font-weight: 700;
            gap: 8px;
            min-height: 42px;
            padding: 0 15px;
        }

        .sr-org-action-btn:hover {
            background: #fff;
            color: #371F1F;
        }

        .sr-public-profile-dropdown .sr-org-action-btn,
        .sr-public-profile-dropdown .org-btn-ghost {
            width: 100%;
        }

        .sr-public-profile-toggle {
            cursor: pointer;
        }

        .sr-org-grid {
            display: grid;
            gap: 16px;
        }

        .sr-org-kpis {
            grid-template-columns: repeat(5, minmax(0, 1fr));
        }

        .sr-org-kpi,
        .sr-org-panel,
        .sr-org-link-card,
        .sr-org-event-row {
            background: #fff;
            border: 1px solid #e6e8ef;
            border-radius: 8px;
            box-shadow: 0 12px 32px rgba(16, 24, 40, 0.05);
        }

        .sr-org-kpi {
            color: #371F1F;
            display: flex;
            flex-direction: column;
            gap: 12px;
            min-height: 166px;
            padding: 18px;
        }

        .sr-org-kpi:hover,
        .sr-org-link-card:hover {
            border-color: #cfd6e6;
            color: #371F1F;
            transform: translateY(-2px);
        }

        .sr-org-kpi-icon {
            align-items: center;
            border-radius: 8px;
            color: #fff;
            display: inline-flex;
            height: 42px;
            justify-content: center;
            width: 42px;
        }

        .sr-org-tone-green {
            background: #079455;
        }

        .sr-org-tone-blue {
            background: #1570ef;
        }

        .sr-org-tone-purple {
            background: #6941c6;
        }

        .sr-org-tone-orange {
            background: #f79009;
        }

        .sr-org-tone-slate {
            background: #674753;
        }

        .sr-org-kpi-label,
        .sr-org-muted {
            color: #667085;
            font-size: 13px;
            line-height: 1.4;
        }

        .sr-org-kpi-value {
            color: #281010;
            font-size: 20px;
            font-weight: 720;
            letter-spacing: 0;
            line-height: 1.1;
            overflow-wrap: anywhere;
        }

        .sr-org-panel {
            padding: 22px;
        }

        .sr-org-panel-title {
            align-items: center;
            display: flex;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 18px;
        }

        .sr-org-panel-title h2 {
            color: #281010;
            font-size: 18px;
            font-weight: 520;
            letter-spacing: 0;
            margin: 0;
        }

        .sr-org-chart-wrap {
            height: 320px;
            min-height: 320px;
        }

        .sr-org-badge {
            border-radius: 999px;
            display: inline-flex;
            font-size: 12px;
            font-weight: 520;
            line-height: 1;
            padding: 8px 10px;
            text-transform: capitalize;
        }

        .sr-org-badge-active,
        .sr-org-badge-processed,
        .sr-org-badge-successful,
        .sr-org-badge-completed {
            background: #dcfae6;
            color: #067647;
        }

        .sr-org-badge-private,
        .sr-org-badge-pending {
            background: #fef0c7;
            color: #b54708;
        }

        .sr-org-badge-cancelled,
        .sr-org-badge-expired,
        .sr-org-badge-failed {
            background: #fee4e2;
            color: #b42318;
        }

        .sr-org-next-event {
            display: grid;
            gap: 16px;
        }

        .sr-org-event-media {
            aspect-ratio: 16 / 9;
            background: #eef2f6;
            border-radius: 8px;
            overflow: hidden;
        }

        .sr-org-event-media img {
            height: 100%;
            object-fit: cover;
            width: 100%;
        }

        .sr-org-event-media-fallback {
            align-items: center;
            color: #98a2b3;
            display: flex;
            font-size: 32px;
            height: 100%;
            justify-content: center;
        }

        .sr-org-event-title {
            color: #281010;
            font-size: 20px;
            font-weight: 520;
            letter-spacing: 0;
            margin: 0 0 8px;
        }

        .sr-org-stat-line {
            display: grid;
            gap: 10px;
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .sr-org-mini-stat {
            background: #f8fafc;
            border: 1px solid #eef2f6;
            border-radius: 8px;
            padding: 12px;
        }

        .sr-org-mini-stat strong {
            color: #281010;
            display: block;
            font-size: 18px;
            line-height: 1.1;
        }

        .sr-org-table {
            margin: 0;
        }

        .sr-org-table th {
            color: #667085;
            font-size: 12px;
            text-transform: uppercase;
        }

        .sr-org-table td,
        .sr-org-table th {
            padding: 13px 0;
            vertical-align: middle;
        }

        .sr-org-links {
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        .sr-org-link-card {
            color: #371F1F;
            display: grid;
            gap: 10px;
            min-height: 138px;
            padding: 18px;
        }

        .sr-org-link-card i {
            align-items: center;
            background: #FFEEEE;
            border-radius: 8px;
            color: var(--sr-primary);
            display: inline-flex;
            height: 38px;
            justify-content: center;
            width: 38px;
        }

        .sr-org-link-card strong {
            color: #281010;
            font-size: 15px;
        }

        .sr-org-checklist {
            display: grid;
            gap: 10px;
        }

        .sr-org-check-item {
            align-items: center;
            border: 1px solid #eef2f6;
            border-radius: 8px;
            color: #371F1F;
            display: flex;
            gap: 12px;
            justify-content: space-between;
            padding: 12px;
        }

        .sr-org-check-icon {
            align-items: center;
            border-radius: 50%;
            display: inline-flex;
            flex: 0 0 30px;
            height: 30px;
            justify-content: center;
            width: 30px;
        }

        .sr-org-check-done {
            background: #dcfae6;
            color: #067647;
        }

        .sr-org-check-todo {
            background: #f2f4f7;
            color: #667085;
        }

        .sr-org-event-list {
            display: grid;
            gap: 12px;
        }

        .sr-org-event-row {
            align-items: center;
            display: grid;
            gap: 14px;
            grid-template-columns: 64px minmax(0, 1fr) auto;
            padding: 12px;
        }

        .sr-org-event-thumb {
            background: #eef2f6;
            border-radius: 8px;
            height: 64px;
            overflow: hidden;
            width: 64px;
        }

        .sr-org-event-thumb img {
            height: 100%;
            object-fit: cover;
            width: 100%;
        }

        .sr-org-empty {
            align-items: center;
            background: #f8fafc;
            border: 1px dashed #cfd6e6;
            border-radius: 8px;
            color: #667085;
            display: flex;
            min-height: 140px;
            padding: 18px;
            text-align: center;
        }

        .sr-org-empty div {
            width: 100%;
        }

        @media (max-width: 1199px) {

            .sr-org-kpis,
            .sr-org-links {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        @media (max-width: 767px) {
            .sr-org-hero {
                padding: 22px;
            }

            .sr-org-hero-main {
                align-items: flex-start;
            }

            .sr-org-hero-actions {
                justify-content: flex-start;
                margin-top: 20px;
            }

            .sr-org-kpis,
            .sr-org-links,
            .sr-org-stat-line {
                grid-template-columns: 1fr;
            }

            .sr-org-event-row {
                grid-template-columns: 52px minmax(0, 1fr);
            }

            .sr-org-event-row .sr-org-badge {
                justify-self: start;
            }
        }

/* Source: public_html/organiser/shorten_url.php */
.success-alert {
            background-color: orange;
            color: white;
            padding: 10px;
            border-radius: 5px;
            text-align: center;
        }


/* Source: public_html/partner/a_myaccount.php */
.error {
            color: red;
            background-color: #ffe6e6;
        }





/* Source: public_html/partner/mypayment-methods.php */
.error {
            color: red;
            background-color: #ffe6e6;
        }





/* Source: public_html/scan/your-device.php */
body.sr-scanner-device-page {
        font-family: Arial, sans-serif;
        margin: 0;
        padding: 0;
        background-color: #f0f0f0;
        display: flex;
        justify-content: center;
        align-items: center;
        min-height: 100vh;
    }
    body.sr-scanner-device-page .container {
        max-width: 80%;
        padding: 20px;
        background-color: #fff;
        border-radius: 10px;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        text-align: center;
    }
    body.sr-scanner-device-page h1 { color: #333; }
    body.sr-scanner-device-page p {
        color: #666;
        margin-bottom: 20px;
    }
    body.sr-scanner-device-page .store-logos { margin-top: 20px; }
    body.sr-scanner-device-page .store-logos img {
        padding: 10px 20px;
        margin: 10px;
    }
    body.sr-scanner-device-page .logo { margin-bottom: 20px; }
    body.sr-scanner-device-page .logo img { height: 100px; }
    body.sr-scanner-device-page footer {
        margin-top: 20px;
        background-color: #333;
        color: #fff;
        padding: 10px 0;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
    }
    body.sr-scanner-device-page footer a {
        color: #fff;
        text-decoration: none;
        margin: 0 10px;
    }

/* Consolidated sign-in alert styles from migrated inline CSS */
body.feedback-page .alert {
  background-color: orange;
  color: #fff;
  padding: 10px;
  border-radius: 5px;
  margin-top: 10px;
}
/* Source: public_html/sign-in/leave_feedback.php */
.star-rating {
      line-height: 50px;
      font-size: 2.5em;
    }

    .star-rating .fa-star {
      color: #ddd;
    }

    .star-rating .fa-star.checked {
      color: #ffc700;
    }

    .star-rating input {
      display: none;
    }

    .star-rating label {
      cursor: pointer;
      padding-right: 10px;
    }

/* Source: public_html/sign-in/login_modal.php */
.sr-login-modal {
            --sr-login-bg: #fff;
            --sr-login-panel: #f8f6f4;
            --sr-login-panel-strong: #f0ece8;
            --sr-login-text: #171717;
            --sr-login-muted: #686868;
            --sr-login-border: rgba(24, 24, 24, 0.12);
            --sr-login-brand: #7a0000;
            --sr-login-brand-hover: #5f0000;
            --sr-login-info: #2f5d62;
            --sr-login-ring: rgba(122, 0, 0, 0.16);
            --sr-login-error-bg: #fff0f0;
            --sr-login-error-text: #8f1010;
            --sr-login-success-bg: #F8EDED;
            --sr-login-success-text: #662121;
         }

         #showraveLoginModal {
            z-index: 98;
         }

         .modal-backdrop.sr-login-modal-backdrop {
            z-index: 97;
         }

         html.night-mode,
         html[data-theme="dark"] {
            --sr-login-bg: #17171d;
            --sr-login-panel: #202029;
            --sr-login-panel-strong: #282832;
            --sr-login-text: #f7f7f7;
            --sr-login-muted: #b9b9c4;
            --sr-login-border: rgba(255, 255, 255, 0.13);
            --sr-login-brand-hover: #940707;
            --sr-login-info: #6ba6ab;
            --sr-login-ring: rgba(255, 255, 255, 0.12);
            --sr-login-error-bg: rgba(143, 16, 16, 0.18);
            --sr-login-error-text: #ffb7b7;
            --sr-login-success-bg: rgba(33, 102, 58, 0.2);
            --sr-login-success-text: #b6efc9;
         }

         .sr-header-login-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 38px;
            padding: 0 14px;
            border-radius: 8px;
            background: #7a0000;
            color: #fff;
            font-weight: 700;
            text-decoration: none;
         }

         .sr-header-login-btn:hover {
            background: #5f0000;
            color: #fff;
         }

         .sr-login-modal .modal-dialog {
            max-width: 480px;
            margin: 72px auto 24px;
            padding: 0 16px;
         }

         .sr-login-modal .modal-content {
            overflow: hidden;
            border: 1px solid var(--sr-login-border);
            border-radius: 18px;
            background: var(--sr-login-bg);
            color: var(--sr-login-text);
            box-shadow: 0 28px 90px rgba(0, 0, 0, 0.28);
         }

         .sr-login-modal__grid {
            display: block;
         }

         .sr-login-modal__logo {
            max-width: 60px;
            margin-bottom: 24px;
         }

         .sr-login-modal__form-panel {
            position: relative;
            padding: 34px 34px 30px;
         }

         .sr-login-modal__close {
            position: absolute;
            top: 18px;
            right: 18px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            height: 40px;
            border: 1px solid var(--sr-login-border);
            border-radius: 999px;
            background: var(--sr-login-panel);
            color: var(--sr-login-text);
         }

         .sr-login-modal__close:hover {
            background: var(--sr-login-panel-strong);
         }

         .sr-login-modal__heading {
            margin: 0 48px 6px 0;
            color: var(--sr-login-text);
            font-size: 26px;
            line-height: 1.16;
         }

         .sr-login-modal__subcopy {
            margin: 0 48px 22px 0;
            color: var(--sr-login-muted);
            line-height: 1.55;
         }

         .sr-login-modal__alert {
            display: none;
            align-items: flex-start;
            gap: 10px;
            margin-bottom: 16px;
            padding: 12px 14px;
            border-radius: 12px;
            background: var(--sr-login-error-bg);
            color: var(--sr-login-error-text);
            font-weight: 700;
            font-size: 14px;
         }

         .sr-login-modal__alert.is-visible {
            display: flex;
         }

         .sr-login-modal__alert.is-success {
            background: var(--sr-login-success-bg);
            color: var(--sr-login-success-text);
         }

         .sr-login-modal__field {
            margin-bottom: 15px;
         }

         .sr-login-modal__field-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 8px;
         }

         .sr-login-modal__label {
            margin: 0;
            color: var(--sr-login-text);
            font-weight: 520;
            font-size: 14px;
         }

         .sr-login-modal__link {
            color: var(--sr-login-brand);
            font-weight: 520;
            font-size: 13px;
            text-decoration: none;
         }

         .sr-login-modal__link:hover {
            color: var(--sr-login-brand-hover);
            text-decoration: underline;
         }

         .sr-login-modal__input-wrap {
            position: relative;
         }

         .sr-login-modal__input {
            width: 100%;
            min-height: 52px;
            border: 1px solid var(--sr-login-border);
            border-radius: 12px;
            background: var(--sr-login-panel);
            color: var(--sr-login-text);
            padding: 0 48px 0 30px;
            font-size: 14px;
            outline: none;
            transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
         }

         .sr-login-modal__input:focus {
            border-color: var(--sr-login-brand);
            background: var(--sr-login-bg);
            box-shadow: 0 0 0 4px var(--sr-login-ring);
         }

         .sr-login-modal__input[aria-invalid="true"] {
            border-color: var(--sr-login-error-text);
         }

         .sr-login-modal__input::placeholder {
            color: var(--sr-login-muted);
         }

         .sr-login-modal__field-icon,
         .sr-login-modal__toggle-password {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            color: var(--sr-login-muted);
         }

         .sr-login-modal__field-icon {
            left: 16px;
         }

         .sr-login-modal__toggle-password {
            right: 10px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 36px;
            height: 36px;
            border: 0;
            border-radius: 8px;
            background: transparent;
         }

         .sr-login-modal__toggle-password:hover {
            background: var(--sr-login-panel-strong);
            color: var(--sr-login-text);
         }

         .sr-login-modal__field-error {
            min-height: 18px;
            margin-top: 6px;
            color: var(--sr-login-error-text);
            font-size: 12px;
            font-weight: 700;
         }

         .sr-login-modal__submit {
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            width: 100%;
            min-height: 52px;
            border: 0;
            border-radius: 12px;
            background: var(--sr-login-brand);
            color: #fff;
            font-weight: 749;
            transition: transform 0.18s ease, background 0.18s ease, opacity 0.18s ease;
         }

         .sr-login-modal__submit:hover {
            transform: translateY(-1px);
            background: var(--sr-login-brand-hover);
            color: #fff;
         }

         .sr-login-modal__submit:disabled {
            cursor: wait;
            opacity: 0.76;
            transform: none;
         }

         .sr-login-modal__spinner {
            display: none;
            width: 18px;
            height: 18px;
            border: 2px solid rgba(255, 255, 255, 0.42);
            border-top-color: #fff;
            border-radius: 999px;
            animation: srLoginSpin 0.8s linear infinite;
         }

         .sr-login-modal__submit.is-loading .sr-login-modal__spinner {
            display: inline-block;
         }

         .sr-login-modal__submit.is-loading .sr-login-modal__submit-icon {
            display: none;
         }

         .sr-login-modal__secure-note {
            display: flex;
            align-items: center;
            gap: 8px;
            margin: 12px 0 0;
            color: var(--sr-login-muted);
            font-size: 12px;
            font-weight: 700;
         }

         .sr-login-modal__divider {
            display: grid;
            grid-template-columns: 1fr auto 1fr;
            align-items: center;
            gap: 12px;
            margin: 22px 0;
            color: var(--sr-login-muted);
            font-size: 13px;
         }

         .sr-login-modal__divider::before,
         .sr-login-modal__divider::after {
            content: "";
            height: 1px;
            background: var(--sr-login-border);
         }

         .sr-login-modal__google {
            display: flex;
            justify-content: center;
            min-height: 44px;
         }

         .sr-login-modal__google .g_id_signin {
            width: 100%;
            max-width: 100%;
         }

         .sr-login-modal__footer {
            margin: 20px 0 0;
            color: var(--sr-login-muted);
            text-align: center;
         }

         .sr-login-modal__footer a {
            color: var(--sr-login-brand);
            font-weight: 749;
            text-decoration: none;
         }

         @keyframes srLoginSpin {
            to {
               transform: rotate(360deg);
            }
         }

         @media (prefers-reduced-motion: reduce) {

            .sr-login-modal__submit,
            .sr-login-modal__input {
               transition: none;
            }

            .sr-login-modal__spinner {
               animation: none;
            }
         }

         @media (max-width: 560px) {
            .sr-login-modal .modal-dialog {
               margin: 0;
               padding: 0;
               max-width: none;
            }

            .sr-login-modal .modal-content {
               min-height: 100vh;
               border: 0;
               border-radius: 0;
            }

            .sr-login-modal__grid {
               min-height: 100vh;
            }

            .sr-login-modal__form-panel {
               padding: 24px 18px 28px;
            }

            .sr-login-modal__logo {
               max-width: 60px;
               margin-bottom: 22px;
            }

            .sr-login-modal__heading,
            .sr-login-modal__subcopy {
               margin-right: 46px;
            }
         }

/* Source: public_html/tickets/download-ticket.php */
/* RESET & BASE */
        body.ticket-download-page * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
            /* force a modern-ish sans font everywhere */
            font-family: "DejaVu Sans", Arial, sans-serif;
        }

        body.ticket-download-page {
            margin: 0;
            padding: 16px;
            background: #f5f6f7;
            color: #1e293b;
            font-size: 11px;
        }


        body.ticket-download-page .ticket-page {
            width: 100%;
        }

        body.ticket-download-page .ticket-card {
            max-width: 430px;
            margin: 0 auto;
            background: #ffffff;
            border-radius: 16px;
            border: 1px solid #e2e8f0;
            box-shadow:
                0 4px 6px -1px rgba(0, 0, 0, 0.10),
                0 2px 4px -1px rgba(0, 0, 0, 0.06);
            overflow: hidden;
        }

        /* HEADER - solid deep orange so it shows in Dompdf */

        body.ticket-download-page .ticket-header {
            background-color: #2B0000;
            color: #ffffff;
            padding: 14px 18px;
            text-align: left;
        }

        body.ticket-download-page .ticket-header-top {
            width: 100%;
            border-collapse: collapse;
        }

        body.ticket-download-page .event-name {
            font-size: 20px;
            /* more prominent */
            font-weight: 650;
            margin: 0 0 3px 0;
            letter-spacing: -0.03em;
        }

        body.ticket-download-page .event-subtitle {
            font-size: 10px;
            opacity: 0.95;
        }

        body.ticket-download-page .header-right {
            text-align: right;
            vertical-align: middle;
        }

        body.ticket-download-page .ticket-badge {
            display: inline-block;
            padding: 3px 9px;
            border-radius: 999px;
            background: rgba(15, 23, 42, 0.22);
            font-size: 8px;
            text-transform: uppercase;
            letter-spacing: 0.08em;
        }

        body.ticket-download-page .datetime-block {
            margin-top: 6px;
            font-size: 10px;
            text-align: right;
        }

        body.ticket-download-page .datetime-date {
            font-weight: 620;
            display: block;
        }

        body.ticket-download-page .datetime-time {
            opacity: 0.95;
        }

        /* BODY */

        body.ticket-download-page .ticket-body {
            padding: 14px 18px 16px;
        }

        body.ticket-download-page .ticket-layout {
            width: 100%;
            border-collapse: collapse;
        }

        body.ticket-download-page .left-column {
            width: 60%;
            vertical-align: top;
            padding-right: 10px;
            border-right: 1px dashed #e2e8f0;
        }

        body.ticket-download-page .right-column {
            width: 40%;
            vertical-align: top;
            padding-left: 10px;
        }

        /* INFO BLOCKS */

        body.ticket-download-page .info-section {
            margin-bottom: 10px;
        }

        body.ticket-download-page .info-row {
            margin-bottom: 6px;
        }

        body.ticket-download-page .info-label {
            font-size: 8px;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: #64748b;
            margin-bottom: 1px;
        }

        body.ticket-download-page .info-value {
            font-size: 11px;
            font-weight: 554;
            color: #1e293b;
        }

        body.ticket-download-page .info-value.muted {
            font-weight: 400;
            color: #64748b;
        }

        body.ticket-download-page .info-value.large {
            font-size: 12px;
            font-weight: 620;
        }

        body.ticket-download-page .price-value {
            font-size: 13px;
            font-weight: 650;
            color: #2B0000;
        }

        body.ticket-download-page .price-free {
            color: #2B0000;
        }

        /* TICKET DETAILS - make ticket name & holder pop */

        body.ticket-download-page .section-title {
            font-size: 8px;
            text-transform: uppercase;
            letter-spacing: 0.10em;
            color: #94a3b8;
            margin: 8px 0 3px;
        }

        body.ticket-download-page .ticket-name {
            font-weight: 700;
            margin-bottom: 4px;
            color: #2B0000;
        }

        body.ticket-download-page .ticket-description {
            font-size: 10px;
            line-height: 1.45;
            color: #64748b;
        }

        body.ticket-download-page .attendee-label {
            margin-top: 8px;
            font-size: 9px;
            color: #6b7280;
        }

        body.ticket-download-page .attendee-name {
            font-size: 16px;
            font-weight: 650;
            margin-bottom: 4px;
            color: #2B0000;
        }

        /* QR / RIGHT SIDE */

        body.ticket-download-page .qr-card {
            background: #f8fafc;
            border-radius: 10px;
            border: 1px solid #e2e8f0;
            padding: 8px 8px 6px;
            text-align: center;
        }

        body.ticket-download-page .qr-title {
            font-size: 8px;
            text-transform: uppercase;
            letter-spacing: 0.10em;
            color: #2B0000;
            /* orange accent */
            margin-bottom: 4px;
        }

        body.ticket-download-page .qr-code {
            display: block;
            margin: 0 auto 6px;
            width: 110px;
            height: 110px;
            border-radius: 6px;
            border: 1px solid #e2e8f0;
            background: #ffffff;
        }

        body.ticket-download-page .ref-label {
            font-size: 8px;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: #94a3b8;
        }

        body.ticket-download-page .ref-value {
            font-family: "DejaVu Sans Mono", monospace;
            font-size: 10px;
            font-weight: 620;
            color: #1e293b;
            margin: 2px 0 5px;
            word-break: break-all;
        }

        body.ticket-download-page .status-pill {
            display: inline-block;
            padding: 3px 9px;
            border-radius: 999px;
            font-size: 8px;
            font-weight: 620;
            text-transform: uppercase;
            letter-spacing: 0.09em;
            margin-top: 4px;
        }

        body.ticket-download-page .status-active {
            background: rgba(22, 163, 74, 0.08);
            color: #15803d;
            border: 1px solid rgba(22, 163, 74, 0.45);
        }

        body.ticket-download-page .status-expired,
        body.ticket-download-page .status-canceled {
            background: rgba(220, 38, 38, 0.08);
            color: #b91c1c;
            border: 1px solid rgba(220, 38, 38, 0.45);
        }

        body.ticket-download-page .meta-small {
            margin-top: 8px;
            font-size: 8px;
            color: #94a3b8;
        }

        body.ticket-download-page .meta-small span {
            color: #475569;
            font-weight: 554;
        }

        /* FOOTER */

        body.ticket-download-page .ticket-footer {
            background: #1e293b;
            color: #ffffff;
            padding: 8px 18px;
            font-size: 9px;
        }

        body.ticket-download-page .footer-table {
            width: 100%;
            border-collapse: collapse;
        }

        body.ticket-download-page .footer-left {
            color: #e2e8f0;
        }

        body.ticket-download-page .footer-right {
            text-align: right;
        }

        body.ticket-download-page .brand {
            color: #757474;
            font-weight: 620;
        }

/* Source: public_html/tickets/incomplete-order.php */
.download-button-container {
            display: flex;
            align-items: center;
            justify-content: center;
            padding-top: 10px;
            padding-bottom: 10px;
            background-color: #039957;
        }

        .download-link {
            display: inline-block;
        }

        .footer-container {
            display: flex;
            justify-content: center;
            gap: 20px;
        }

        .profile-link,
        .cancel-link {
            display: inline-block;
            font-size: 18px;
        }

/* Source: public_html/tickets/my-ticket-download.php */
/* RESET & BASE */
        body.my-ticket-download-page * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
            font-family: "DejaVu Sans", Arial, sans-serif;
        }

        body.my-ticket-download-page {
            margin: 0;
            padding: 16px;
            background: #f5f6f7;
            color: #1e293b;
            font-size: 11px;
        }

        body.my-ticket-download-page .ticket-page {
            width: 100%;
        }

        body.my-ticket-download-page .ticket-card {
            max-width: 430px;
            margin: 0 auto;
            background: #ffffff;
            border-radius: 16px;
            border: 1px solid #e2e8f0;
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.10), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
            overflow: hidden;
        }

        body.my-ticket-download-page .ticket-header {
            background-color: #2B0000;
            color: #ffffff;
            padding: 14px 18px;
            text-align: left;
        }

        body.my-ticket-download-page .ticket-header-top {
            width: 100%;
            border-collapse: collapse;
        }

        body.my-ticket-download-page .event-name {
            font-size: 20px;
            font-weight: 650;
            margin: 0 0 3px 0;
            letter-spacing: -0.03em;
        }

        body.my-ticket-download-page .event-subtitle {
            font-size: 10px;
            opacity: 0.95;
        }

        body.my-ticket-download-page .header-right {
            text-align: right;
            vertical-align: middle;
        }

        body.my-ticket-download-page .ticket-badge {
            display: inline-block;
            padding: 3px 9px;
            border-radius: 999px;
            background: rgba(15, 23, 42, 0.22);
            font-size: 8px;
            text-transform: uppercase;
            letter-spacing: 0.08em;
        }

        body.my-ticket-download-page .datetime-block {
            margin-top: 6px;
            font-size: 10px;
            text-align: right;
        }

        body.my-ticket-download-page .datetime-date {
            font-weight: 620;
            display: block;
        }

        body.my-ticket-download-page .datetime-time {
            opacity: 0.95;
        }

        body.my-ticket-download-page .ticket-body {
            padding: 14px 18px 16px;
        }

        body.my-ticket-download-page .ticket-layout {
            width: 100%;
            border-collapse: collapse;
        }

        body.my-ticket-download-page .left-column {
            width: 60%;
            vertical-align: top;
            padding-right: 10px;
            border-right: 1px dashed #e2e8f0;
        }

        body.my-ticket-download-page .right-column {
            width: 40%;
            vertical-align: top;
            padding-left: 10px;
        }

        body.my-ticket-download-page .info-section {
            margin-bottom: 10px;
        }

        body.my-ticket-download-page .info-row {
            margin-bottom: 6px;
        }

        body.my-ticket-download-page .info-label {
            font-size: 8px;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: #64748b;
            margin-bottom: 1px;
        }

        body.my-ticket-download-page .info-value {
            font-size: 11px;
            font-weight: 554;
            color: #1e293b;
        }

        body.my-ticket-download-page .info-value.muted {
            font-weight: 400;
            color: #64748b;
        }

        body.my-ticket-download-page .price-value {
            font-size: 13px;
            font-weight: 650;
            color: #2B0000;
        }

        body.my-ticket-download-page .price-free {
            color: #2B0000;
        }

        body.my-ticket-download-page .section-title {
            font-size: 8px;
            text-transform: uppercase;
            letter-spacing: 0.10em;
            color: #94a3b8;
            margin: 8px 0 3px;
        }

        body.my-ticket-download-page .ticket-name {
            font-weight: 700;
            margin-bottom: 4px;
            color: #2B0000;
        }

        body.my-ticket-download-page .ticket-description {
            font-size: 10px;
            line-height: 1.45;
            color: #64748b;
        }

        body.my-ticket-download-page .attendee-label {
            margin-top: 8px;
            font-size: 9px;
            color: #6b7280;
        }

        body.my-ticket-download-page .attendee-name {
            font-size: 16px;
            font-weight: 650;
            margin-bottom: 4px;
            color: #2B0000;
        }

        body.my-ticket-download-page .qr-card {
            background: #f8fafc;
            border-radius: 10px;
            border: 1px solid #e2e8f0;
            padding: 8px 8px 6px;
            text-align: center;
        }

        body.my-ticket-download-page .qr-title {
            font-size: 8px;
            text-transform: uppercase;
            letter-spacing: 0.10em;
            color: #2B0000;
            margin-bottom: 4px;
        }

        body.my-ticket-download-page .qr-code {
            display: block;
            margin: 0 auto 6px;
            width: 110px;
            height: 110px;
            border-radius: 6px;
            border: 1px solid #e2e8f0;
            background: #ffffff;
        }

        body.my-ticket-download-page .ref-label {
            font-size: 8px;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: #94a3b8;
        }

        body.my-ticket-download-page .ref-value {
            font-family: "DejaVu Sans Mono", monospace;
            font-size: 10px;
            font-weight: 620;
            color: #1e293b;
            margin: 2px 0 5px;
            word-break: break-all;
        }

        body.my-ticket-download-page .status-pill {
            display: inline-block;
            padding: 3px 9px;
            border-radius: 999px;
            font-size: 8px;
            font-weight: 620;
            text-transform: uppercase;
            letter-spacing: 0.09em;
            margin-top: 4px;
        }

        body.my-ticket-download-page .status-active {
            background: rgba(22, 163, 74, 0.08);
            color: #15803d;
            border: 1px solid rgba(22, 163, 74, 0.45);
        }

        body.my-ticket-download-page .status-expired,
        body.my-ticket-download-page .status-canceled {
            background: rgba(220, 38, 38, 0.08);
            color: #b91c1c;
            border: 1px solid rgba(220, 38, 38, 0.45);
        }

        body.my-ticket-download-page .meta-small {
            margin-top: 8px;
            font-size: 8px;
            color: #94a3b8;
        }

        body.my-ticket-download-page .meta-small span {
            color: #475569;
            font-weight: 554;
        }

        body.my-ticket-download-page .ticket-footer {
            background: #1e293b;
            color: #ffffff;
            padding: 8px 18px;
            font-size: 9px;
        }

        body.my-ticket-download-page .footer-table {
            width: 100%;
            border-collapse: collapse;
        }

        body.my-ticket-download-page .footer-left {
            color: #e2e8f0;
        }

        body.my-ticket-download-page .footer-right {
            text-align: right;
        }

        body.my-ticket-download-page .brand {
            color: #757474;
            font-weight: 620;
        }

/* Source: public_html/a.php */
body.sr-hero-illo-page {
            margin: 0;
            background: #0E0508;
        }

        /* The illustration is a self-contained, responsive SVG. Drop the .hero-illo
     element wherever you want it - it scales to its container's width. */
        .hero-illo {
            display: block;
            width: 100%;
            aspect-ratio: 760 / 540;
            border-radius: 16px;
            overflow: hidden;
            background: var(--illo-bg, #1F0E13);
        }

        .hero-illo svg {
            display: block;
            width: 100%;
            height: 100%;
        }

        /* Demo page chrome - not needed when you embed it on your site. */
        .demo-wrap {
            max-width: 760px;
            margin: 60px auto;
            padding: 0 20px;
        }

        .demo-wrap h2 {
            color: #FBF4E8;
            font: 600 14px/1 ui-sans-serif, system-ui;
            letter-spacing: .08em;
            text-transform: uppercase;
            opacity: .6;
            margin: 0 0 12px;
        }

/* Source: public_html/backfill_event_slugs.php */
body.backfill-event-slugs-page { background: #10141c; color: var(--db-i18n-text); }
        .shell { max-width: 980px; margin: 40px auto; padding: 24px; }
        .panel { background: #171d28; border: 1px solid #2d3748; border-radius: 18px; padding: 24px; }
        .table { color: var(--db-i18n-text); }
        .muted { color: #9fb0c8; }

/* Source: public_html/blog.php */
.blog-journal {
            background: #f8fafc;
            display: flow-root;
            flex: 1 0 auto;
            min-height: calc(100vh - 60px)
        }

        body.blog-index-page {
            min-height: 100%;
            display: flex;
            flex-direction: column;
            overflow-x: hidden
        }

        html:has(body.blog-index-page) {
            overflow-x: hidden
        }

        body.blog-index-page .sr-cart-drawer:not(.is-open) {
            display: none
        }

        body.blog-index-page .footer {
            flex-shrink: 0;
            margin-top: 0;
            position: relative;
            z-index: 1
        }

        .blog-shell {
            max-width: 1180px;
            margin: 0 auto;
            padding: 32px 16px 64px;
            display: flow-root
        }

        .blog-hero {
            position: relative;
            overflow: hidden;
            width: 100%;
            margin-bottom: 30px;
            padding: clamp(28px, 4.5vw, 52px) 16px;
            border: 1px solid rgba(123, 2, 2, .16);
            border-left: 0;
            border-right: 0;
            border-radius: 0;
            background:
                linear-gradient(135deg, rgba(123, 2, 2, .96) 0%, rgba(66, 2, 2, .98) 48%, rgba(17, 24, 39, .98) 100%);
            box-shadow: 0 18px 42px rgba(30, 6, 6, .14)
        }

        .blog-hero__content {
            display: grid;
            grid-template-columns: minmax(0, .82fr) minmax(420px, 1.18fr);
            gap: clamp(20px, 3vw, 36px);
            align-items: center;
            width: 100%;
            max-width: 1180px;
            margin: 0 auto
        }

        .blog-hero__intro {
            display: flex;
            flex-direction: column;
            justify-content: center;
            min-width: 0;
            padding: 8px 0
        }

        .blog-kicker {
            font-size: .78rem;
            font-weight: 749;
            letter-spacing: .08em;
            text-transform: uppercase;
            color: #ffdede;
            margin-bottom: 12px
        }

        .blog-hero h1 {
            font-size: clamp(2.2rem, 4vw, 3.75rem);
            line-height: 1.03;
            font-weight: 749;
            color: #fff;
            margin: 0
        }

        .blog-hero p {
            color: rgba(255, 255, 255, .78);
            font-size: 1.04rem;
            line-height: 1.62;
            margin: 16px 0 0;
            max-width: 600px
        }

        .blog-feature {
            background: rgba(255, 255, 255, .97);
            border: 1px solid rgba(255, 255, 255, .72);
            border-radius: 8px;
            overflow: hidden;
            display: grid;
            grid-template-columns: minmax(180px, .9fr) minmax(0, 1.1fr);
            min-height: 300px;
            box-shadow: 0 22px 48px rgba(8, 12, 22, .26)
        }

        .blog-feature__image {
            display: block;
            height: 100%;
            min-height: 100%;
            background: #e5e7eb;
            overflow: hidden
        }

        .blog-feature__image img,
        .blog-card__image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block
        }

        .blog-feature__body {
            display: flex;
            flex-direction: column;
            justify-content: center;
            min-width: 0;
            padding: clamp(20px, 3vw, 28px)
        }

        .blog-label {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            border: 1px solid rgba(123, 2, 2, .22);
            background: rgba(123, 2, 2, .08);
            color: #6E0000;
            border-radius: 999px;
            font-size: .75rem;
            font-weight: 749;
            padding: 5px 10px;
            margin-bottom: 14px;
            width: fit-content
        }

        .blog-feature h2 {
            font-size: clamp(1.32rem, 2vw, 1.85rem);
            line-height: 1.18;
            font-weight: 749;
            color: #111827;
            margin: 0 0 12px
        }

        .blog-feature p,
        .blog-card p {
            color: #4b5563;
            line-height: 1.56;
            margin: 0
        }

        .blog-meta {
            display: flex;
            gap: 12px;
            flex-wrap: wrap;
            color: #64748b;
            font-size: .8rem;
            font-weight: 520;
            margin: 14px 0
        }

        .blog-meta span {
            display: inline-flex;
            align-items: center;
            gap: 6px
        }

        .blog-link {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: #6E0000;
            font-weight: 749;
            text-decoration: none;
            margin-top: 4px
        }


        .blog-panel {
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 8px;
            padding: 18px;
            margin-bottom: 20px;
            display: flow-root
        }

        .blog-section-head {
            display: flex;
            justify-content: space-between;
            gap: 16px;
            align-items: flex-end;
            margin-bottom: 14px
        }

        .blog-section-head h2 {
            font-size: 1.35rem;
            font-weight: 749;
            color: #111827;
            margin: 0
        }

        .blog-section-head p {
            margin: 5px 0 0;
            color: #64748b
        }

        .blog-search {
            display: flex;
            gap: 8px;
            align-items: center;
            flex-wrap: wrap
        }

        .blog-search input {
            height: 42px;
            border: 1px solid #d1d5db;
            border-radius: 8px;
            padding: 0 12px;
            min-width: min(330px, 100%)
        }

        .blog-btn {
            height: 42px;
            border: 1px solid #6E0000;
            background: #6E0000;
            color: #fff;
            border-radius: 8px;
            padding: 0 14px;
            font-weight: 749;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 8px
        }

        .blog-btn.secondary {
            background: #fff;
            color: #374151;
            border-color: #d1d5db
        }

        .blog-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 16px
        }

        .blog-card {
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 8px;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            min-height: 100%
        }

        .blog-card__image {
            aspect-ratio: 16/10;
            background: #e5e7eb;
            overflow: hidden
        }

        .blog-card__body {
            padding: 16px;
            display: flex;
            flex-direction: column;
            flex: 1
        }

        .blog-card h3 {
            font-size: 1rem;
            line-height: 1.35;
            font-weight: 749;
            color: #111827;
            margin: 0 0 8px
        }

        .blog-card .blog-link {
            margin-top: auto;
            padding-top: 14px
        }

        .blog-empty {
            background: #fff;
            border: 1px dashed #cbd5e1;
            border-radius: 8px;
            text-align: center;
            padding: 40px 18px;
            color: #64748b
        }

        .blog-empty i {
            font-size: 2rem;
            color: #94a3b8;
            margin-bottom: 10px
        }

        .blog-empty h2 {
            font-size: 1.1rem;
            font-weight: 749;
            color: #111827;
            margin: 0 0 6px
        }
        @media(max-width:900px) {
            .blog-hero {
                padding: 24px 16px
            }

            .blog-hero__content {
                grid-template-columns: 1fr
            }

            .blog-feature {
                min-height: 0
            }

            .blog-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr))
            }
        }

        @media(max-width:620px) {
            .blog-grid {
                grid-template-columns: 1fr
            }

            .blog-section-head {
                flex-direction: column;
                align-items: flex-start
            }

            .blog-search,
            .blog-search input,
            .blog-btn {
                width: 100%
            }

            .blog-btn {
                justify-content: center
            }

            .blog-hero {
                padding: 20px 16px
            }

            .blog-feature {
                grid-template-columns: 1fr
            }

            .blog-feature__image {
                aspect-ratio: 16/9;
                min-height: 0
            }
        }

/* Source: public_html/contact_us.php, public route /contact */
.whatsapp-float {
        position: fixed;
        bottom: 10px;
        right: 10px;
        padding: 10px 20px;
        background-color: #25D366;
        color: #ffffff;
        border-radius: 50px;
        text-decoration: none;
        transition: background-color 0.3s;
    }

    .whatsapp-float:hover,
    .whatsapp-float:hover:visited {
        background-color: orange; 
        color: #ffffff;
    }

/* Source: public_html/head.php */
.header,
   .header-inner,
   .showrave-head {
      min-height: 16px
   }

   .notification-dropdown>.nav-link,
   .account-link {
      min-width: 40px;
      min-height: 40px
   }

   @media (max-width: 575.98px) {



   }

   @media (min-width: 576px) and (max-width: 767.98px) {



   }

.header--glass {
   --sr-header-height: 60px;
   position: relative;
   z-index: 90;
   min-height: var(--sr-header-height)
}

.header--glass .showrave-head.bg-showrave {
   background: rgba(255, 255, 255, .74) !important;
   border-bottom: 1px solid rgba(17, 24, 39, .1);
   box-shadow: 0 10px 30px rgba(17, 24, 39, .08);
   -webkit-backdrop-filter: blur(18px) saturate(1.25);
   backdrop-filter: blur(18px) saturate(1.25)
}

.header--glass .showrave-head {
   overflow: visible
}

/*
 * Organiser header nav layout - desktop only (lg+).
 *
 * The brand's Bootstrap me-auto class absorbs ALL free space before
 * right-header's margin-left:auto can act, so the gap ends up between
 * logo and nav items rather than between nav items and the action buttons.
 *
 * Fix: on lg+ screens, neutralise the brand's me-auto (set margin-right:0).
 * Bootstrap's flex-grow:1 on the offcanvas keeps it expanding normally,
 * and right-header's existing margin-left:auto then absorbs the free space,
 * placing the gap where it belongs - between nav items and the actions.
 */
@media (min-width: 992px) {
   .header--organiser .showrave-head .navbar-brand {
      margin-right: 0
   }
}

.header--glass .showrave-head::after {
   content: "";
   position: absolute;
   left: 0;
   right: 0;
   bottom: 0;
   height: 1px;
   pointer-events: none;
   background: linear-gradient(90deg, transparent, rgba(123, 2, 2, .28), transparent)
}

.header--glass .showrave-head > .container,
.header--glass .showrave-head > .container-fluid {
   min-height: var(--sr-header-height)
}

.header--glass .navbar-toggler,
.header--glass .toggle_menu,
.header--glass .collapse_menu {
   min-width: 40px;
   min-height: 40px;
   border: 1px solid rgba(17, 24, 39, .1);
   border-radius: 999px;
   background: rgba(255, 255, 255, .68);
   color: #111827;
   box-shadow: 0 8px 18px rgba(17, 24, 39, .08);
   -webkit-backdrop-filter: blur(12px);
   backdrop-filter: blur(12px)
}

.header--glass .navbar-toggler:hover,
.header--glass .navbar-toggler:focus-visible,
.header--glass .toggle_menu:hover,
.header--glass .toggle_menu:focus-visible,
.header--glass .collapse_menu:hover,
.header--glass .collapse_menu:focus-visible {
   background: rgba(255, 255, 255, .9);
   border-color: rgba(123, 2, 2, .2);
   color: #7b0202;
   outline: none
}

.header--glass .header-action--theme .js-night-mode-toggle,
.header--glass .theme-switch-row .js-night-mode-toggle,
.header--glass .header-action--language .lang-switcher-trigger,
.header--glass .notification-dropdown > .nav-link,
.header--glass .account-link,
.header--glass .admin-nav-search__control,
.header--glass .home-search-curved-search-box {
   background-color: rgba(255, 255, 255, .7);
   border-color: rgba(17, 24, 39, .1);
   box-shadow: 0 8px 18px rgba(17, 24, 39, .07);
   -webkit-backdrop-filter: blur(12px);
   backdrop-filter: blur(12px)
}

.header--glass .create-btn {
   border-color: rgba(46, 46, 46, .88);
   box-shadow: 0 10px 22px rgba(46, 46, 46, .16)
}

@media (max-width: 991.98px) {
   .header--glass .showrave-head.fixed-top {
      position: sticky;
      top: 0;
      right: auto;
      left: auto
   }

   .header--glass .showrave-head.bg-showrave {
      background: rgba(255, 255, 255, .82) !important
   }

}

/* Source: public_html/nice-to-have-you.php */
.logout-hero {
      padding: 56px 0;
    }

    @media (min-width: 992px) {
      .logout-hero {
        padding: 90px 0;
      }
    }

    .logout-card {
      border-radius: 18px;
      overflow: hidden;
      box-shadow: 0 12px 35px rgba(0, 0, 0, .08);
      border: 1px solid rgba(0, 0, 0, .06);
      background: #fff;
    }

    .logout-card__top {
      position: relative;
      padding: 22px 20px;
      background: linear-gradient(135deg, rgba(255, 91, 91, .16), rgba(80, 148, 255, .16));
    }

    .logout-badge {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 10px 14px;
      border-radius: 999px;
      background: rgba(255, 255, 255, .75);
      backdrop-filter: blur(10px);
      border: 1px solid rgba(0, 0, 0, .06);
      font-weight: 620;
    }

    .logout-icon {
      width: 38px;
      height: 38px;
      border-radius: 12px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: #111827;
      color: #fff;
    }

    .logout-card__body {
      padding: 22px 20px 18px;
    }

    .logout-title {
      margin: 14px 0 6px;
      font-weight: 650;
      letter-spacing: -0.02em;
    }

    .logout-sub {
      opacity: .85;
      margin-bottom: 18px;
      line-height: 1.5;
    }

    .logout-actions {
      display: grid;
      grid-template-columns: 1fr;
      gap: 10px;
      margin-top: 10px;
    }

    @media (min-width: 576px) {
      .logout-actions {
        grid-template-columns: 1fr 1fr;
      }
    }

    .btn-outline-like {
      background: transparent;
      border: 1px solid rgba(0, 0, 0, .14);
      color: #111827;
    }

    .btn-outline-like i {
      color: inherit;
    }

    .btn-outline-like:hover,
    .btn-outline-like:focus,
    .btn-outline-like:active {
      background: rgba(17, 24, 39, .08);
      border-color: rgba(0, 0, 0, .18);
      color: #111827;
      text-decoration: none;
    }

    body.night-mode .btn-outline-like {
      border-color: rgba(255, 255, 255, .18);
      color: #e5e7eb;
    }

    .mini-note {
      font-size: 0.92rem;
      opacity: .78;
      margin-top: 14px;
    }

    .divider-dot {
      display: inline-block;
      margin: 0 .5rem;
      opacity: .6;
    }

    html.night-mode .logout-card,
    body.night-mode .logout-card {
      background: #0f172a;
      border-color: rgba(255, 255, 255, .08);
    }

    html.night-mode .logout-card__top,
    body.night-mode .logout-card__top {
      background: linear-gradient(135deg, rgba(255, 91, 91, .18), rgba(80, 148, 255, .18));
    }

    html.night-mode .logout-badge,
    body.night-mode .logout-badge {
      background: rgba(15, 23, 42, .65);
      border-color: rgba(255, 255, 255, .10);
      color: #e5e7eb;
    }

    html.night-mode .logout-sub,
    html.night-mode .mini-note,
    body.night-mode .logout-sub,
    body.night-mode .mini-note {
      color: rgba(229, 231, 235, .85);
    }

    html.night-mode .btn-outline-like,
    body.night-mode .btn-outline-like {
      border-color: rgba(255, 255, 255, .18);
      color: #e5e7eb;
    }

    html.night-mode .btn-outline-like:hover,
    html.night-mode .btn-outline-like:focus,
    html.night-mode .btn-outline-like:active,
    body.night-mode .btn-outline-like:hover,
    body.night-mode .btn-outline-like:focus,
    body.night-mode .btn-outline-like:active {
      background: rgba(255, 255, 255, .08);
      border-color: rgba(255, 255, 255, .22);
      color: #e5e7eb;
    }

/* Source: public_html/pricing.php */
/* Pricing page redesign (scoped) */
    .pricing-page {
      --pp-text: #0f172a;
      --pp-muted: #64748b;
      --pp-border: rgba(2, 6, 23, .10);
      --pp-surface: #ffffff;
      --pp-soft: rgba(2, 6, 23, .03);
      --pp-shadow: 0 10px 30px rgba(2, 6, 23, .08);

      --pp-hero-bg: linear-gradient(135deg, rgba(99, 102, 241, .12), rgba(16, 185, 129, .10));
      --pp-hero-border: rgba(2, 6, 23, .08);
    }

    /* Night mode context: html.night-mode (as requested) */
    html.night-mode .pricing-page {
      --pp-text: #e5e7eb;
      --pp-muted: #9ca3af;
      --pp-border: rgba(255, 255, 255, .12);
      --pp-surface: rgba(255, 255, 255, .04);
      --pp-soft: rgba(255, 255, 255, .06);
      --pp-shadow: 0 10px 30px rgba(0, 0, 0, .40);

      --pp-hero-bg: linear-gradient(135deg, rgba(99, 102, 241, .18), rgba(16, 185, 129, .14));
      --pp-hero-border: rgba(255, 255, 255, .12);
    }

    .pricing-page .pp-container {
      padding: 26px 0 48px;
    }

    /* HERO */
    .pricing-page .pp-hero {
      border-radius: 18px;
      border: 1px solid var(--pp-hero-border);
      background: var(--pp-hero-bg);
      box-shadow: var(--pp-shadow);
      overflow: hidden;
      position: relative;
    }

    .pricing-page .pp-hero-inner {
      padding: 18px;
    }

    @media (min-width: 992px) {
      .pricing-page .pp-hero-inner {
        padding: 22px;
      }
    }

    .pricing-page .pp-kicker {
      font-size: 12px;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--pp-muted);
      margin-bottom: 6px;
    }

    .pricing-page .pp-title {
      font-size: 22px;
      /* tight */
      line-height: 1.25;
      margin: 0 0 8px;
      color: var(--pp-text);
      font-weight: 650;
    }

    .pricing-page .pp-lead {
      font-size: 14px;
      /* tight */
      line-height: 1.6;
      margin: 0;
      color: var(--pp-muted);
      max-width: 70ch;
    }

    .pricing-page .pp-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 12px;
    }

    .pricing-page .pp-actions .btn {
      font-size: 13px;
      padding: 10px 14px;
      border-radius: 10px;
    }

    .pricing-page .pp-ghost-btn {
      background: transparent;
      border: 1px solid var(--pp-border);
      color: var(--pp-text);
    }

    .pricing-page .pp-ghost-btn:hover {
      background: var(--pp-soft);
    }

    /* Small hero info strip */
    .pricing-page .pp-hero-strip {
      margin-top: 14px;
      display: grid;
      grid-template-columns: 1fr;
      gap: 10px;
    }

    @media (min-width: 992px) {
      .pricing-page .pp-hero-strip {
        grid-template-columns: 1fr 1fr 1fr;
      }
    }

    .pricing-page .pp-strip-item {
      background: rgba(255, 255, 255, .45);
      border: 1px solid var(--pp-hero-border);
      border-radius: 14px;
      padding: 12px;
      backdrop-filter: blur(8px);
    }

    html.night-mode .pricing-page .pp-strip-item {
      background: rgba(0, 0, 0, .18);
    }

    .pricing-page .pp-strip-top {
      display: flex;
      gap: 10px;
      align-items: center;
      margin-bottom: 6px;
    }

    .pricing-page .pp-mini-icon {
      width: 28px;
      height: 28px;
      border-radius: 10px;
      display: grid;
      place-items: center;
      background: rgba(99, 102, 241, .16);
      flex: 0 0 28px;
    }

    .pricing-page .pp-mini-icon i {
      font-size: 13px;
    }

    .pricing-page .pp-strip-title {
      font-size: 12.5px;
      margin: 0;
      color: var(--pp-text);
      font-weight: 700;
    }

    .pricing-page .pp-strip-desc {
      font-size: 12.5px;
      margin: 0;
      color: var(--pp-muted);
      line-height: 1.5;
    }

    /* MAIN GRID */
    .pricing-page .pp-grid {
      margin-top: 16px;
      display: grid;
      grid-template-columns: 1fr;
      gap: 14px;
    }

    @media (min-width: 992px) {
      .pricing-page .pp-grid {
        grid-template-columns: 1.2fr .8fr;
        align-items: start;
        gap: 18px;
      }
    }

    .pricing-page .pp-card {
      background: var(--pp-surface);
      border: 1px solid var(--pp-border);
      border-radius: 16px;
      box-shadow: var(--pp-shadow);
      overflow: hidden;
    }

    .pricing-page .pp-card-body {
      padding: 16px;
    }

    .pricing-page .pp-card-title {
      font-size: 14px;
      font-weight: 650;
      margin: 0 0 8px;
      color: var(--pp-text);
    }

    .pricing-page .pp-card-text {
      font-size: 13px;
      line-height: 1.6;
      margin: 0;
      color: var(--pp-muted);
    }

    .pricing-page .pp-list {
      margin: 12px 0 0;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 10px;
    }

    .pricing-page .pp-list li {
      display: flex;
      gap: 10px;
      align-items: flex-start;
      padding: 10px;
      border-radius: 12px;
      background: var(--pp-soft);
      border: 1px solid var(--pp-border);
    }

    .pricing-page .pp-icon {
      width: 30px;
      height: 30px;
      border-radius: 10px;
      display: grid;
      place-items: center;
      background: rgba(99, 102, 241, .12);
      flex: 0 0 30px;
    }

    .pricing-page .pp-icon i {
      font-size: 14px;
    }

    .pricing-page .pp-item-title {
      font-size: 13px;
      margin: 0;
      color: var(--pp-text);
      font-weight: 700;
    }

    .pricing-page .pp-item-sub {
      font-size: 12.5px;
      margin: 2px 0 0;
      color: var(--pp-muted);
      line-height: 1.5;
    }

    /* PRICE BOX */
    .pricing-page .pp-pricebox-top {
      padding: 14px 16px;
      border-bottom: 1px solid var(--pp-border);
      background: linear-gradient(180deg, var(--pp-soft), transparent);
    }

    .pricing-page .pp-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 12px;
      color: var(--pp-muted);
    }

    .pricing-page .pp-badge i {
      font-size: 12px;
    }

    .pricing-page .pp-fee {
      display: flex;
      align-items: baseline;
      gap: 8px;
      margin-top: 10px;
    }

    .pricing-page .pp-fee-value {
      font-size: 20px;
      font-weight: 620;
      line-height: 1;
      color: var(--pp-text);
    }

    .pricing-page .pp-fee-suffix {
      font-size: 12.5px;
      color: var(--pp-muted);
    }

    .pricing-page .pp-fee-note {
      margin-top: 10px;
      font-size: 12.5px;
      color: var(--pp-muted);
      line-height: 1.5;
    }

    .pricing-page .pp-divider {
      height: 1px;
      background: var(--pp-border);
      margin: 14px 0;
    }

    .pricing-page .pp-mini {
      font-size: 12.5px;
      color: var(--pp-muted);
      margin: 0;
      line-height: 1.5;
    }

    .pricing-page .pp-help {
      margin-top: 18px;
      text-align: center;
      padding: 18px 12px;
      border-radius: 16px;
      border: 1px dashed var(--pp-border);
      background: var(--pp-soft);
    }

    .pricing-page .pp-help h3 {
      font-size: 15px;
      margin: 0 0 6px;
      color: var(--pp-text);
      font-weight: 620;
    }

    .pricing-page .pp-help p {
      font-size: 13px;
      margin: 0 0 12px;
      color: var(--pp-muted);
      line-height: 1.6;
    }

    .pricing-page .btn.btn-primary {
      border: none;
      background: var(--pp-primary, #380000);
      color: #fff;
      transition: background .2s ease, transform .15s ease;
    }

    /* Hover / focus / active - prevents Bootstrap blue */
    .pricing-page .btn.btn-primary:hover,
    .pricing-page .btn.btn-primary:focus,
    .pricing-page .btn.btn-primary:active {
      background: var(--pp-primary-hover, #e54646);
      color: #fff;
      box-shadow: none;
      transform: translateY(-1px);
    }

    /* Night mode (html.night-mode context) */
html.night-mode .pricing-page {
      --pp-primary: #f88181;
      --pp-primary-hover: #f16363;
    }

.ads-icon-btn {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 8px;
  background: #fff;
  color: #7b0202;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.ads-icon-btn:hover,
.ads-icon-btn:focus,
.ads-icon-btn.is-copied {
  background: #7b0202;
  border-color: #7b0202;
  color: #fff;
}

.sr-json-details summary {
  cursor: pointer;
  color: #7b0202;
  font-weight: 700;
}

.sr-json-details pre {
  max-width: 620px;
  max-height: 280px;
  overflow: auto;
  margin: 8px 0 12px;
  padding: 12px;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 8px;
  background: #f8fafc;
  color: #111827;
  font-size: 12px;
  white-space: pre-wrap;
}

.deleted-events-grid {
  display: grid;
  gap: 16px;
  margin-bottom: 24px;
}

.deleted-event-card {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 44px rgba(31, 41, 55, .08);
}

.deleted-event-card__image {
  width: 100%;
  height: 100%;
  min-height: 210px;
  object-fit: cover;
  background: #f1f5f9;
}

.deleted-event-card__body {
  padding: 18px;
}

.deleted-event-card__head {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
}

.deleted-event-card__head h2 {
  margin: 0;
  color: #111827;
  font-size: 20px;
  font-weight: 446;
}

.deleted-event-card__head p {
  margin: 5px 0 0;
  color: #64748b;
}

.deleted-event-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}

.deleted-event-meta div {
  padding: 12px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 8px;
  background: #f8fafc;
}

.deleted-event-meta span,
.deleted-event-meta strong {
  display: block;
}

.deleted-event-meta span {
  color: #64748b;
  font-size: 12px;
}

.deleted-event-meta strong {
  margin-top: 4px;
  color: #111827;
  font-size: 13px;
}

.deleted-event-restore {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
}

.deleted-event-restore label {
  color: #475569;
  font-size: 13px;
  font-weight: 700;
}

.deleted-event-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-left: auto;
}

@media (max-width: 991.98px) {
  .deleted-event-card {
    grid-template-columns: 1fr;
  }

  .deleted-event-card__image {
    height: 220px;
  }

  .deleted-event-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .deleted-event-meta {
    grid-template-columns: 1fr;
  }

  .deleted-event-actions,
  .deleted-event-actions .ads-btn {
    width: 100%;
  }
}

/* Pricing page rebuild */
.pricing-main {
  background:
    linear-gradient(180deg, #fff7f5 0%, #ffffff 42%, #f7fafc 100%);
  color: #151923;
}

.pricing-hero {
  padding: 56px 0 26px;
  background:
    radial-gradient(circle at 12% 18%, rgba(123, 2, 2, .14), transparent 28%),
    linear-gradient(135deg, #200305 0%, #6f0710 54%, #a61b25 100%);
  color: #ffffff;
}

.pricing-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
  align-items: stretch;
}

@media (min-width: 992px) {
  .pricing-hero__inner {
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 34px;
  }
}

.pricing-hero__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 260px;
}

.pricing-eyebrow,
.pricing-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin: 0 0 12px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  color: #8f0f18;
}

.pricing-eyebrow {
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  background: rgba(255, 255, 255, .12);
  color: #ffffff;
}

.pricing-hero h1,
.pricing-section-head h2,
.pricing-panel h2,
.pricing-support h2 {
  margin: 0;
  letter-spacing: 0;
  color: inherit;
}

.pricing-hero h1 {
  max-width: 760px;
  font-size: clamp(2.15rem, 5vw, 4.8rem);
  line-height: .98;
  font-weight: 446;
}

.pricing-hero__lead {
  max-width: 710px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .82);
  font-size: 17px;
  line-height: 1.65;
}

.sr-market-context {
  max-width: 680px;
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 8px;
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .9);
}

.sr-market-context--center {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.sr-market-context strong {
  display: block;
  margin-bottom: 5px;
  font-size: 14px;
}

.sr-market-context p {
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
}

.sr-market-context span {
  display: block;
  margin-top: 5px;
  color: rgba(255, 255, 255, .72);
  font-size: 13px;
  line-height: 1.45;
}

.pricing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.pricing-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  padding: 11px 16px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 446;
  text-decoration: none;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}

.pricing-btn:hover,
.pricing-btn:focus {
  transform: translateY(-1px);
  text-decoration: none;
}

.pricing-btn--primary {
  border: 1px solid #7b0202;
  background: #7b0202;
  color: #ffffff;
}

.pricing-btn--primary:hover,
.pricing-btn--primary:focus {
  border-color: #9f1010;
  background: #9f1010;
  color: #ffffff;
}

.pricing-btn--ghost {
  border: 1px solid rgba(255, 255, 255, .34);
  background: rgba(255, 255, 255, .12);
  color: #ffffff;
}

.pricing-btn--ghost:hover,
.pricing-btn--ghost:focus {
  background: rgba(255, 255, 255, .2);
  color: #ffffff;
}

.pricing-rate-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 260px;
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 8px;
  background: rgba(255, 255, 255, .94);
  color: #161923;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .22);
}

.pricing-rate-card__label,
.pricing-rate-card__suffix,
.pricing-rate-card__note {
  margin: 0;
  color: #5d6676;
}

.pricing-rate-card__label {
  font-size: 13px;
  font-weight: 446;
  text-transform: uppercase;
}

.pricing-rate-card__value {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 14px 0 6px;
  color: #7b0202;
  line-height: .9;
}

.pricing-rate-card__value span {
  font-size: 76px;
  font-weight: 749;
}

.pricing-rate-card__value small {
  margin-top: 7px;
  font-size: 20px;
  font-weight: 446;
}

.pricing-rate-card__suffix {
  font-size: 18px;
  font-weight: 446;
  color: #151923;
}

.pricing-rate-card__note {
  margin-top: 18px;
  font-size: 13px;
  line-height: 1.55;
}

.pricing-section {
  padding: 58px 0;
}

.pricing-section--summary {
  padding: 0 0 42px;
  margin-top: -22px;
  position: relative;
}

.pricing-section--split {
  background: #f2f7f5;
}

.pricing-stat-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

@media (min-width: 768px) {
  .pricing-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.pricing-stat,
.pricing-feature-card,
.pricing-panel,
.pricing-step,
.pricing-support__inner {
  border: 1px solid rgba(18, 24, 38, .1);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 16px 44px rgba(31, 41, 55, .08);
}

.pricing-stat {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 18px;
}

.pricing-stat__icon,
.pricing-feature-card__icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  background: rgba(123, 2, 2, .1);
  color: #7b0202;
}

.pricing-stat--green .pricing-stat__icon {
  background: rgba(9, 130, 82, .12);
  color: #08764c;
}

.pricing-stat--blue .pricing-stat__icon {
  background: rgba(8, 102, 255, .11);
  color: #0866ff;
}

.pricing-stat strong,
.pricing-stat span {
  display: block;
}

.pricing-stat strong {
  color: #151923;
  font-size: 21px;
  line-height: 1.2;
}

.pricing-stat span {
  margin-top: 3px;
  color: #626b7a;
  font-size: 13px;
  line-height: 1.4;
}

.pricing-section-head {
  max-width: 760px;
  margin-bottom: 24px;
}

.pricing-section-head h2,
.pricing-panel h2,
.pricing-support h2 {
  color: #151923;
  font-size: clamp(1.75rem, 3vw, 2.55rem);
  line-height: 1.12;
}

.pricing-section-head p,
.pricing-panel p,
.pricing-support p,
.pricing-feature-card p,
.pricing-step p {
  color: #626b7a;
  line-height: 1.65;
}

.pricing-section-head p,
.pricing-panel > p,
.pricing-support p {
  margin: 12px 0 0;
  font-size: 15px;
}

.pricing-feature-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

@media (min-width: 768px) {
  .pricing-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .pricing-feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.pricing-feature-card {
  padding: 22px;
}

.pricing-feature-card h3,
.pricing-step h3 {
  margin: 16px 0 7px;
  color: #151923;
  font-size: 17px;
  font-weight: 446;
}

.pricing-feature-card p,
.pricing-step p {
  margin: 0;
  font-size: 14px;
}

.pricing-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
}

@media (min-width: 992px) {
  .pricing-split {
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    align-items: start;
    gap: 24px;
  }
}

.pricing-panel {
  padding: 26px;
}

.pricing-example {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  margin-top: 22px;
}

@media (min-width: 640px) {
  .pricing-example {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.pricing-example div {
  padding: 16px;
  border-radius: 8px;
  background: #fff8f6;
  border: 1px solid rgba(123, 2, 2, .12);
}

.pricing-example span,
.pricing-example strong {
  display: block;
}

.pricing-example span {
  color: #626b7a;
  font-size: 12px;
  font-weight: 446;
  text-transform: uppercase;
}

.pricing-example strong {
  margin-top: 7px;
  color: #151923;
  font-size: 21px;
}

.pricing-small-print {
  font-size: 13px;
}

.pricing-steps {
  display: grid;
  gap: 12px;
}

.pricing-step {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  padding: 18px;
}

.pricing-step > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  background: #123d35;
  color: #ffffff;
  font-weight: 749;
}

.pricing-step h3 {
  margin-top: 0;
}

.pricing-support {
  padding-bottom: 72px;
}

.pricing-support__inner {
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 26px;
  background:
    linear-gradient(135deg, rgba(123, 2, 2, .07), rgba(8, 102, 255, .07)),
    #ffffff;
}

@media (min-width: 768px) {
  .pricing-support__inner {
    flex-direction: row;
    align-items: center;
  }

  .pricing-support__inner > div {
    max-width: 720px;
  }
}

@media (max-width: 575.98px) {
  .pricing-hero {
    padding-top: 34px;
  }

  .pricing-hero h1 {
    font-size: 2.35rem;
  }

  .pricing-rate-card__value span {
    font-size: 58px;
  }

  .pricing-btn {
    width: 100%;
  }
}

/* Source: public_html/searches.php */
/* searches.php-specific styles scoped inside .sr-home */
    .sr-search-hero {
      background: linear-gradient(135deg, #4e0812 0%, #7f1222 45%, #b3122d 100%);
      color: #fff;
      padding: 60px 0 32px;
    }

    .sr-search-hero h1 {
      color: #fff !important;
      font-size: 1.625rem;
      margin-bottom: 20px;
    }

    .sr-search-bar {
      display: flex;
      align-items: center;
      background: #fbf7f4;
      border: 1px solid rgba(255, 255, 255, 0.3);
      border-radius: 999px;
      padding: 6px 6px 6px 24px;
      gap: 12px;
      max-width: 720px;
      box-shadow: 0 10px 28px rgba(0, 0, 0, 0.2);
    }

    html.night-mode .sr-home .sr-search-bar {
      background: #17171c;
      border-color: rgba(255, 255, 255, 0.12);
    }

    .sr-search-bar__icon {
      color: #777;
      font-size: 1.125rem;
      flex-shrink: 0;
    }

    .sr-search-bar__input {
      flex: 1;
      border: 0;
      outline: 0;
      background: transparent;
      font-size: 1rem;
      color: #171717;
      padding: 12px 0;
      min-width: 0;
    }

    html.night-mode .sr-home .sr-search-bar__input {
      color: #f5f4f1;
    }

    .sr-search-bar__clear {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-width: 44px;
      height: 44px;
      padding: 0 16px;
      border-radius: 999px;
      border: 1px solid #d7d0c8;
      background: #2E2D2D;
      color: #661010;
      font-weight: 700;
      text-decoration: none;
      flex-shrink: 0;
    }

    .sr-search-bar__clear:hover {
      background: #595959;
      border-color: #cdbeb1;
    }

    html.night-mode .sr-home .sr-search-bar__clear {
      background: #22222a;
      border-color: #373744;
      color: #f4d2d2;
    }

    .sr-search-bar__btn {
      background: var(--sr-primary);
      color: #fff;
      border: 0;
      border-radius: 999px;
      height: 48px;
      padding: 0 28px;
      font-weight: 700;
      font-size: 0.9375rem;
      cursor: pointer;
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }

    .sr-search-bar__btn:hover {
      background: #5a0000;
    }

    .sr-search-meta {
      padding: 20px 0 0;
      font-size: 0.9rem;
      color: rgba(255, 255, 255, 0.8);
    }

    .sr-search-meta strong {
      color: #fff;
    }

    .sr-search-layout {
      display: grid;
      gap: 32px;
      padding: 32px 0 64px;
    }

    @media (min-width: 992px) {
      .sr-search-layout {
        grid-template-columns: 240px 1fr;
      }
    }

    /* Filters sidebar */
    .sr-search-filters {
      display: flex;
      flex-direction: column;
      gap: 24px;
    }

    .sr-search-filters__heading {
      font-size: 0.75rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--sr-text-muted);
      margin-bottom: 10px;
    }

    .sr-search-filter-list {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .sr-search-filter-item {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 8px 14px;
      border-radius: 8px;
      font-size: 0.9rem;
      color: var(--sr-text);
      border: 1px solid var(--sr-border);
      cursor: pointer;
      transition: border-color .15s, background .15s;
      text-decoration: none;
    }

    .sr-search-filter-item:hover,
    .sr-search-filter-item.active {
      border-color: var(--sr-primary);
      color: var(--sr-primary);
      background: var(--sr-primary-soft);
    }

    .sr-search-filter-clear {
      font-size: 0.8125rem;
      color: var(--sr-primary);
      text-decoration: underline;
      cursor: pointer;
      background: none;
      border: 0;
      padding: 0;
      margin-top: 4px;
    }

    /* Results */
    .sr-search-results-grid {
      display: grid;
      gap: 20px;
      grid-template-columns: 1fr;
    }

    .sr-search-suggested {
      margin-top: 40px;
      padding-top: 28px;
      border-top: 1px solid var(--sr-border);
    }

    .sr-search-suggested__head {
      display: flex;
      justify-content: space-between;
      align-items: end;
      gap: 16px;
      flex-wrap: wrap;
      margin-bottom: 20px;
    }

    .sr-search-suggested__head h3 {
      font-size: 1.375rem;
      margin: 0;
    }

    .sr-search-suggested__head p {
      margin: 6px 0 0;
      color: var(--sr-text-muted);
    }

    @media (min-width: 640px) {
      .sr-search-results-grid {
        grid-template-columns: 1fr 1fr;
      }
    }

    @media (min-width: 1200px) {
      .sr-search-results-grid {
        grid-template-columns: repeat(3, 1fr);
      }
    }

    .sr-search-card {
      display: flex;
      flex-direction: column;
      background: var(--sr-surface);
      border: 1px solid var(--sr-border);
      border-radius: 14px;
      overflow: hidden;
      text-decoration: none;
      color: inherit;
      transition: transform .2s, box-shadow .2s, border-color .2s;
      height: 100%;
    }

    .sr-search-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 10px 28px rgba(18, 18, 18, 0.1);
      border-color: #d6d3cd;
    }

    .sr-search-card__media {
      aspect-ratio: 16/10;
      background: var(--sr-surface-sunk);
      overflow: hidden;
      position: relative;
    }

    .sr-search-card__media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .sr-search-card__body {
      padding: 16px;
      display: flex;
      flex-direction: column;
      gap: 8px;
      flex: 1;
    }

    .sr-search-card__date {
      font-size: 0.8125rem;
      font-weight: 700;
      color: var(--sr-primary);
      text-transform: uppercase;
      letter-spacing: 0.05em;
    }

    .sr-search-card__title {
      font-size: 1rem;
      font-weight: 700;
      color: var(--sr-text);
      line-height: 1.3;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .sr-search-card__meta {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      font-size: 0.875rem;
      color: var(--sr-text-muted);
      margin-top: auto;
      padding-top: 10px;
      border-top: 1px solid var(--sr-border);
    }

    .sr-search-card__meta span {
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }

    .sr-search-card__free {
      color: var(--sr-accent);
      font-weight: 700;
    }

    .sr-search-card__bookmark {
      position: absolute;
      top: 10px;
      left: 10px;
      z-index: 4;
      width: 38px;
      height: 38px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      border: none;
      border-radius: 50%;
      background: rgba(255, 255, 255, .76);
      color: var(--sr-primary, #e63946);
      box-shadow: 0 4px 14px rgba(0, 0, 0, .18);
      -webkit-backdrop-filter: blur(6px);
      backdrop-filter: blur(6px);
      cursor: pointer;
      transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
    }

    .sr-search-card__bookmark:hover {
      background: #fff;
      transform: translateY(-1px);
      box-shadow: 0 8px 20px rgba(0, 0, 0, .22);
    }

    .sr-search-card__bookmark svg {
      position: absolute;
      width: 18px;
      height: 18px;
      pointer-events: none;
    }

    .sr-search-card__bookmark .bm-on { display: none; }
    .sr-search-card__bookmark[aria-pressed="true"] .bm-on { display: block; }
    .sr-search-card__bookmark[aria-pressed="true"] .bm-off { display: none; }

    /* Empty / no-query states */
    .sr-search-empty {
      text-align: center;
      padding: 64px 24px;
      color: var(--sr-text-muted);
      border: 1px dashed var(--sr-border-strong);
      border-radius: 14px;
      background: var(--sr-surface-alt);
      grid-column: 1 / -1;
    }

    .sr-search-empty__icon {
      font-size: 3rem;
      margin-bottom: 16px;
      color: var(--sr-border-strong);
    }

    .sr-search-empty h3 {
      font-size: 1.25rem;
      color: var(--sr-text);
      margin-bottom: 8px;
    }
/* Source: public_html/sell-tickets-online.php */
.sell-page {
      --sr-red: #6E0000;
      --sr-red-2: #9f1010;
      --sr-red-3: #ffdddd;
      --sr-ink: #111827;
      --sr-muted: #5f6b7a;
      --sr-line: rgba(17, 24, 39, .1);
      --sr-soft: #f6f7fb;
      --sr-white: #ffffff;
      --sr-radius: 24px;
      --sr-radius-sm: 16px;
      --sr-shadow: 0 24px 70px rgba(17, 24, 39, .14);
      --sr-shadow-soft: 0 16px 40px rgba(17, 24, 39, .08);
      --sr-gradient: linear-gradient(135deg, #6E0000 0%, #a31111 52%, #f04b4b 100%);
    }

    .sell-page {
      background:
        radial-gradient(circle at top left, rgba(110, 0, 0, .08), transparent 32rem),
        linear-gradient(180deg, #ffffff 0%, #f8fafc 45%, #ffffff 100%);
      color: var(--sr-ink);
      overflow-x: hidden;
      overflow-y: visible;
    }

    body.sell-tickets-page {
      display: block;
      min-height: 100%;
    }

    body.sell-tickets-page .footer {
      position: relative;
      margin-top: 0;
      z-index: 1;
    }

    .sell-shell {
      width: min(1180px, calc(100% - 32px));
      margin-inline: auto;
    }

    .sell-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      width: fit-content;
      border: 1px solid rgba(110, 0, 0, .18);
      background: rgba(255, 255, 255, .78);
      color: var(--sr-red);
      border-radius: 999px;
      padding: 9px 13px;
      font-size: .76rem;
      font-weight: 950;
      letter-spacing: .11em;
      text-transform: uppercase;
      box-shadow: 0 12px 26px rgba(110, 0, 0, .08);
      -webkit-backdrop-filter: blur(14px);
      backdrop-filter: blur(14px);
    }

    .sell-eyebrow i {
      color: var(--sr-red-2);
    }

    .sell-hero {
      position: relative;
      isolation: isolate;
      min-height: calc(100vh - 60px);
      display: flex;
      align-items: center;
      padding: clamp(72px, 9vw, 124px) 0 clamp(54px, 7vw, 96px);
      background:
        radial-gradient(circle at 16% 12%, rgba(255, 255, 255, .13), transparent 20rem),
        radial-gradient(circle at 78% 18%, rgba(240, 75, 75, .34), transparent 22rem),
        linear-gradient(135deg, #100f15 0%, #171923 44%, #2a0508 100%);
      color: #fff;
    }

    .sell-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -3;
      background:
        linear-gradient(90deg, rgba(12, 13, 19, .98) 0%, rgba(15, 16, 23, .86) 42%, rgba(40, 5, 8, .6) 100%),
        url('/images/scan-ticket.jfif') center/cover no-repeat;
      opacity: .9;
    }

    .sell-hero::after {
      content: "";
      position: absolute;
      inset: auto -10% -42% -10%;
      height: 48%;
      z-index: -2;
      background: #fff;
      transform: rotate(-3deg);
      transform-origin: top left;
    }

    .sell-hero__grid {
      display: grid;
      grid-template-columns: minmax(0, 1.02fr) minmax(360px, .78fr);
      align-items: center;
      gap: clamp(28px, 5vw, 76px);
    }

    .sell-hero__copy {
      max-width: 760px;
    }

    .sell-hero h1 {
      margin: 18px 0 0;
      max-width: 810px;
      font-size: clamp(2.75rem, 7vw, 5.9rem);
      line-height: .92;
      font-weight: 1000;
      letter-spacing: -.07em;
    }

    .sell-hero h1 span {
      display: inline-block;
      background: linear-gradient(90deg, #fff 0%, #ffe1e1 50%, #ff9c9c 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }

    .sell-hero__lead {
      max-width: 665px;
      margin: 24px 0 0;
      color: rgba(255, 255, 255, .78);
      font-size: clamp(1.03rem, 1.4vw, 1.22rem);
      line-height: 1.75;
    }

    .sell-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 30px;
    }

    .sell-btn {
      --btn-bg: var(--sr-gradient);
      --btn-fg: #fff;
      min-height: 52px;
      border: 0;
      background: var(--btn-bg);
      color: var(--btn-fg);
      border-radius: 999px;
      padding: 0 20px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      font-weight: 950;
      text-decoration: none;
      box-shadow: 0 18px 34px rgba(110, 0, 0, .28);
      transition: transform .24s ease, box-shadow .24s ease, background .24s ease, color .24s ease;
    }

    .sell-btn:hover {
      color: var(--btn-fg);
      text-decoration: none;
      transform: translateY(-3px);
      box-shadow: 0 24px 48px rgba(110, 0, 0, .34);
    }

    .sell-btn.secondary {
      --btn-bg: rgba(255, 255, 255, .1);
      --btn-fg: #fff;
      border: 1px solid rgba(255, 255, 255, .2);
      box-shadow: none;
      -webkit-backdrop-filter: blur(14px);
      backdrop-filter: blur(14px);
    }

    .sell-btn.secondary:hover {
      background: rgba(255, 255, 255, .16);
    }

    .sell-btn.light {
      --btn-bg: #fff;
      --btn-fg: var(--sr-red);
      box-shadow: 0 18px 34px rgba(0, 0, 0, .16);
    }

    .sell-proof {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin-top: 34px;
      max-width: 780px;
    }

    .sell-proof span {
      min-height: 72px;
      display: flex;
      align-items: center;
      gap: 12px;
      border: 1px solid rgba(255, 255, 255, .14);
      background: linear-gradient(180deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .06));
      border-radius: 18px;
      padding: 14px;
      color: rgba(255, 255, 255, .9);
      line-height: 1.35;
      -webkit-backdrop-filter: blur(14px);
      backdrop-filter: blur(14px);
    }

    .sell-proof i {
      width: 28px;
      height: 28px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      border-radius: 999px;
      background: rgba(255, 255, 255, .14);
      color: #ffb4b4;
    }

    .sell-hero-card {
      position: relative;
      min-height: 560px;
      border: 1px solid rgba(255, 255, 255, .16);
      border-radius: 34px;
      background: linear-gradient(145deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .06));
      box-shadow: 0 30px 90px rgba(0, 0, 0, .34);
      -webkit-backdrop-filter: blur(18px);
      backdrop-filter: blur(18px);
      overflow: hidden;
      animation: sellFloat 7s ease-in-out infinite;
    }

    .sell-hero-card::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 80% 0%, rgba(255, 130, 130, .45), transparent 15rem),
        linear-gradient(180deg, rgba(255, 255, 255, .1), transparent 46%);
      pointer-events: none;
    }

    .sell-hero-card__top {
      position: relative;
      padding: 22px;
    }

    .sell-dashboard {
      position: relative;
      border-radius: 24px;
      overflow: hidden;
      background: #10131d;
      border: 1px solid rgba(255, 255, 255, .12);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
    }

    .sell-dashboard__bar {
      height: 54px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 16px;
      border-bottom: 1px solid rgba(255, 255, 255, .1);
      color: rgba(255, 255, 255, .74);
      font-weight: 749;
      font-size: .82rem;
    }

    .sell-dots {
      display: flex;
      gap: 7px;
    }

    .sell-dots span {
      width: 10px;
      height: 10px;
      border-radius: 999px;
      background: rgba(255, 255, 255, .24);
    }

    .sell-dashboard__body {
      padding: 18px;
      display: grid;
      gap: 14px;
    }

    .sell-stat-row {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
    }

    .sell-stat {
      border: 1px solid rgba(255, 255, 255, .1);
      border-radius: 18px;
      padding: 16px;
      background: rgba(255, 255, 255, .06);
    }

    .sell-stat small {
      display: block;
      color: rgba(255, 255, 255, .58);
      font-weight: 520;
      margin-bottom: 8px;
    }

    .sell-stat strong {
      color: #fff;
      font-size: 1.55rem;
      line-height: 1;
      letter-spacing: -.04em;
    }

    .sell-graph {
      height: 146px;
      border-radius: 20px;
      background:
        linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px) 0 0 / 48px 48px,
        linear-gradient(180deg, rgba(255, 255, 255, .08) 1px, transparent 1px) 0 0 / 48px 48px,
        linear-gradient(135deg, rgba(110, 0, 0, .42), rgba(255, 255, 255, .05));
      position: relative;
      overflow: hidden;
    }

    .sell-graph::before {
      content: "";
      position: absolute;
      left: -12%;
      right: -8%;
      bottom: 22px;
      height: 74px;
      background: linear-gradient(90deg, #ff7676, #ffffff);
      clip-path: polygon(0 75%, 14% 62%, 27% 70%, 40% 38%, 55% 52%, 70% 20%, 84% 34%, 100% 7%, 100% 100%, 0 100%);
      opacity: .78;
      animation: sellGraph 4.8s ease-in-out infinite;
    }

    .sell-ticket-preview {
      position: absolute;
      right: 20px;
      bottom: 24px;
      width: min(310px, calc(100% - 40px));
      border-radius: 24px;
      background: #fff;
      color: var(--sr-ink);
      padding: 18px;
      box-shadow: 0 28px 70px rgba(0, 0, 0, .32);
      transform: rotate(-2deg);
      animation: sellFloatSmall 6s ease-in-out infinite;
    }

    .sell-ticket-preview__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding-bottom: 14px;
      border-bottom: 1px dashed rgba(17, 24, 39, .2);
    }

    .sell-ticket-preview__head strong {
      display: block;
      font-size: .95rem;
      line-height: 1.1;
    }

    .sell-ticket-preview__head small {
      color: var(--sr-muted);
      font-weight: 520;
    }

    .sell-qr {
      width: 54px;
      height: 54px;
      border-radius: 12px;
      background:
        linear-gradient(90deg, #111 50%, transparent 50%) 0 0 / 12px 12px,
        linear-gradient(#111 50%, transparent 50%) 0 0 / 12px 12px,
        #fff;
      border: 8px solid #f3f4f6;
      flex: 0 0 auto;
    }

    .sell-ticket-preview__body {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 12px;
      align-items: end;
      padding-top: 14px;
    }

    .sell-ticket-preview__body span {
      color: var(--sr-muted);
      display: block;
      font-size: .78rem;
      font-weight: 520;
      margin-bottom: 4px;
    }

    .sell-ticket-preview__body b {
      color: var(--sr-red);
      font-size: 1.45rem;
      line-height: 1;
    }

    .sell-pulse {
      position: absolute;
      width: 12px;
      height: 12px;
      border-radius: 999px;
      background: #ff7777;
      box-shadow: 0 0 0 0 rgba(255, 119, 119, .5);
      animation: sellPulse 2.2s infinite;
    }

    .sell-pulse.one {
      top: 84px;
      right: 74px;
    }

    .sell-pulse.two {
      left: 58px;
      bottom: 138px;
      animation-delay: .7s;
    }

    .sell-section {
      position: relative;
      padding: clamp(72px, 9vw, 118px) 0;
    }

    .sell-section.is-white {
      background: #fff;
    }

    .sell-section-head {
      max-width: 760px;
      margin-bottom: 34px;
    }

    .sell-section-head.center {
      margin-inline: auto;
      text-align: center;
    }

    .sell-section-head h2 {
      color: var(--sr-ink);
      font-size: clamp(2rem, 4vw, 3.35rem);
      line-height: 1;
      font-weight: 1000;
      letter-spacing: -.055em;
      margin: 14px 0 0;
    }

    .sell-section-head p {
      color: var(--sr-muted);
      font-size: 1.05rem;
      line-height: 1.75;
      margin: 16px 0 0;
    }

    .sell-card-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
    }

    .sell-feature-card,
    .sell-step-card,
    .sell-panel {
      position: relative;
      border: 1px solid var(--sr-line);
      background: rgba(255, 255, 255, .86);
      border-radius: var(--sr-radius);
      box-shadow: var(--sr-shadow-soft);
      overflow: hidden;
    }

    .sell-feature-card,
    .sell-step-card {
      padding: 24px;
      transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
    }

    .sell-feature-card::before,
    .sell-step-card::before,
    .sell-panel::before {
      content: "";
      position: absolute;
      inset: 0 0 auto 0;
      height: 4px;
      background: var(--sr-gradient);
      opacity: 0;
      transition: opacity .24s ease;
    }

    .sell-feature-card:hover,
    .sell-step-card:hover {
      transform: translateY(-6px);
      box-shadow: var(--sr-shadow);
      border-color: rgba(110, 0, 0, .18);
    }

    .sell-feature-card:hover::before,
    .sell-step-card:hover::before,
    .sell-panel:hover::before {
      opacity: 1;
    }

    .sell-icon,
    .sell-step-card__num {
      width: 50px;
      height: 50px;
      border-radius: 16px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(135deg, #fff1f1);
      color: var(--sr-red);
      box-shadow: inset 0 0 0 1px rgba(110, 0, 0, .1);
      margin-bottom: 20px;
      font-weight: 1000;
    }

    .sell-feature-card h3,
    .sell-step-card h3 {
      color: var(--sr-ink);
      font-size: 1.15rem;
      line-height: 1.2;
      font-weight: 950;
      margin: 0 0 10px;
      letter-spacing: -.02em;
    }

    .sell-feature-card p,
    .sell-step-card p {
      color: var(--sr-muted);
      line-height: 1.65;
      margin: 0;
    }

    .sell-workflow-wrap {
      position: relative;
    }

    .sell-workflow-wrap::before {
      content: "";
      position: absolute;
      top: 49px;
      left: 7%;
      right: 7%;
      height: 2px;
      background: linear-gradient(90deg, transparent, rgba(110, 0, 0, .28), transparent);
      pointer-events: none;
    }

    .sell-workflow {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
    }

    .sell-step-card {
      background: #fff;
      z-index: 1;
    }

    .sell-step-card__top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      margin-bottom: 6px;
    }

    .sell-step-card__top i {
      color: rgba(110, 0, 0, .36);
      font-size: 1.35rem;
    }

    .sell-insight {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
      gap: 22px;
      align-items: stretch;
    }

    .sell-panel {
      padding: clamp(26px, 4vw, 42px);
    }

    .sell-panel h2,
    .sell-panel h3 {
      color: var(--sr-ink);
      font-weight: 1000;
      letter-spacing: -.04em;
      margin: 0 0 14px;
    }

    .sell-panel h2 {
      font-size: clamp(1.75rem, 3vw, 2.65rem);
      line-height: 1.03;
    }

    .sell-panel h3 {
      font-size: 1.55rem;
      line-height: 1.1;
    }

    .sell-panel p {
      color: var(--sr-muted);
      line-height: 1.75;
      margin: 0;
    }

    .sell-metric-list {
      list-style: none;
      padding: 0;
      margin: 26px 0 0;
      display: grid;
      gap: 12px;
    }

    .sell-metric-list li {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      color: #344054;
      line-height: 1.45;
    }

    .sell-metric-list i {
      width: 24px;
      height: 24px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      border-radius: 999px;
      background: #fff1f1;
      color: var(--sr-red);
      font-size: .78rem;
      margin-top: 1px;
    }

    .sell-panel.dark {
      background:
        radial-gradient(circle at top right, rgba(255, 92, 92, .3), transparent 15rem),
        linear-gradient(145deg, #10131d, #1c1115);
      border-color: rgba(255, 255, 255, .12);
      color: #fff;
      box-shadow: 0 26px 70px rgba(17, 24, 39, .22);
    }

    .sell-panel.dark h3,
    .sell-panel.dark p {
      color: #fff;
    }

    .sell-panel.dark p {
      color: rgba(255, 255, 255, .76);
    }

    .sell-mini-card {
      margin-top: 26px;
      border: 1px solid rgba(255, 255, 255, .13);
      background: rgba(255, 255, 255, .08);
      border-radius: 20px;
      padding: 18px;
    }

    .sell-mini-card strong {
      display: block;
      font-size: 2.2rem;
      line-height: 1;
      letter-spacing: -.05em;
      margin-bottom: 8px;
    }

    .sell-mini-card span {
      color: rgba(255, 255, 255, .68);
      font-weight: 520;
    }

    .sell-cta {
      position: relative;
      isolation: isolate;
      padding: clamp(70px, 9vw, 108px) 0;
      background:
        radial-gradient(circle at 16% 18%, rgba(255, 255, 255, .22), transparent 18rem),
        radial-gradient(circle at 85% 85%, rgba(0, 0, 0, .22), transparent 20rem),
        var(--sr-gradient);
      color: #fff;
      overflow: hidden;
    }

    .sell-cta::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      background-image:
        linear-gradient(rgba(255, 255, 255, .08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px);
      background-size: 44px 44px;
      mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
    }

    .sell-cta__inner {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      gap: 28px;
    }

    .sell-cta h2 {
      max-width: 760px;
      font-size: clamp(2.15rem, 4vw, 4rem);
      line-height: .98;
      font-weight: 1000;
      letter-spacing: -.06em;
      margin: 0;
      color: #fff;
    }

    .sell-cta p {
      color: rgba(255, 255, 255, .84);
      max-width: 680px;
      margin: 16px 0 0;
      line-height: 1.75;
      font-size: 1.05rem;
    }

    .sell-reveal {
      opacity: 1;
      transform: none;
    }

    .sell-reveal-left {
      opacity: 1;
      transform: none;
    }

    .sell-reveal-right {
      opacity: 1;
      transform: none;
    }

    @media (prefers-reduced-motion: no-preference) {
      .sell-reveal {
        opacity: 0;
        transform: translateY(22px);
        animation: sellReveal .76s cubic-bezier(.2, .8, .2, 1) forwards;
        animation-delay: var(--delay, 0s);
      }

      .sell-reveal-left {
        opacity: 0;
        transform: translateX(-22px);
        animation: sellRevealLeft .76s cubic-bezier(.2, .8, .2, 1) forwards;
        animation-delay: var(--delay, 0s);
      }

      .sell-reveal-right {
        opacity: 0;
        transform: translateX(22px);
        animation: sellRevealRight .76s cubic-bezier(.2, .8, .2, 1) forwards;
        animation-delay: var(--delay, 0s);
      }
    }

    @keyframes sellReveal {
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @keyframes sellRevealLeft {
      to {
        opacity: 1;
        transform: translateX(0);
      }
    }

    @keyframes sellRevealRight {
      to {
        opacity: 1;
        transform: translateX(0);
      }
    }

    @keyframes sellFloat {

      0%,
      100% {
        transform: translateY(0) rotate(.4deg);
      }

      50% {
        transform: translateY(-14px) rotate(-.4deg);
      }
    }

    @keyframes sellFloatSmall {

      0%,
      100% {
        transform: translateY(0) rotate(-2deg);
      }

      50% {
        transform: translateY(-10px) rotate(1deg);
      }
    }

    @keyframes sellPulse {
      0% {
        box-shadow: 0 0 0 0 rgba(255, 119, 119, .55);
      }

      70% {
        box-shadow: 0 0 0 18px rgba(255, 119, 119, 0);
      }

      100% {
        box-shadow: 0 0 0 0 rgba(255, 119, 119, 0);
      }
    }

    @keyframes sellGraph {

      0%,
      100% {
        transform: translateX(0) scaleY(1);
      }

      50% {
        transform: translateX(16px) scaleY(1.08);
      }
    }

    .night-mode .sell-page,
    html.night-mode .sell-page,
    html[data-theme="dark"] .sell-page {
      background:
        radial-gradient(circle at top left, rgba(160, 30, 30, .16), transparent 30rem),
        linear-gradient(180deg, #0f1218 0%, #111827 50%, #0f1218 100%);
      color: #f8fafc;
    }

    .night-mode .sell-hero::after,
    html.night-mode .sell-hero::after,
    html[data-theme="dark"] .sell-hero::after {
      background: #0f1218;
    }

    .night-mode .sell-section.is-white,
    html.night-mode .sell-section.is-white,
    html[data-theme="dark"] .sell-section.is-white {
      background: #10141c;
    }

    .night-mode .sell-eyebrow,
    html.night-mode .sell-eyebrow,
    html[data-theme="dark"] .sell-eyebrow {
      background: rgba(255, 255, 255, .08);
      border-color: rgba(255, 255, 255, .12);
      color: #ffd2d2;
    }

    .night-mode .sell-section-head h2,
    .night-mode .sell-feature-card h3,
    .night-mode .sell-step-card h3,
    .night-mode .sell-panel h2,
    .night-mode .sell-panel h3,
    html.night-mode .sell-section-head h2,
    html.night-mode .sell-feature-card h3,
    html.night-mode .sell-step-card h3,
    html.night-mode .sell-panel h2,
    html.night-mode .sell-panel h3,
    html[data-theme="dark"] .sell-section-head h2,
    html[data-theme="dark"] .sell-feature-card h3,
    html[data-theme="dark"] .sell-step-card h3,
    html[data-theme="dark"] .sell-panel h2,
    html[data-theme="dark"] .sell-panel h3 {
      color: #f8fafc;
    }

    .night-mode .sell-section-head p,
    .night-mode .sell-feature-card p,
    .night-mode .sell-step-card p,
    .night-mode .sell-panel p,
    html.night-mode .sell-section-head p,
    html.night-mode .sell-feature-card p,
    html.night-mode .sell-step-card p,
    html.night-mode .sell-panel p,
    html[data-theme="dark"] .sell-section-head p,
    html[data-theme="dark"] .sell-feature-card p,
    html[data-theme="dark"] .sell-step-card p,
    html[data-theme="dark"] .sell-panel p {
      color: #cbd5e1;
    }

    .night-mode .sell-feature-card,
    .night-mode .sell-step-card,
    .night-mode .sell-panel,
    html.night-mode .sell-feature-card,
    html.night-mode .sell-step-card,
    html.night-mode .sell-panel,
    html[data-theme="dark"] .sell-feature-card,
    html[data-theme="dark"] .sell-step-card,
    html[data-theme="dark"] .sell-panel {
      background: rgba(21, 25, 34, .92);
      border-color: rgba(255, 255, 255, .1);
      box-shadow: 0 18px 45px rgba(0, 0, 0, .2);
    }

    .night-mode .sell-step-card,
    html.night-mode .sell-step-card,
    html[data-theme="dark"] .sell-step-card {
      background: #151922;
    }

    .night-mode .sell-metric-list li,
    html.night-mode .sell-metric-list li,
    html[data-theme="dark"] .sell-metric-list li {
      color: #e5e7eb;
    }

    @media (max-width: 1100px) {
      .sell-hero__grid {
        grid-template-columns: 1fr;
      }

      .sell-hero-card {
        min-height: 480px;
        max-width: 620px;
      }
    }

    @media (max-width: 991.98px) {
      .sell-hero {
        min-height: auto;
      }

      .sell-card-grid,
      .sell-workflow,
      .sell-insight {
        grid-template-columns: 1fr 1fr;
      }

      .sell-workflow-wrap::before {
        display: none;
      }

      .sell-cta__inner {
        grid-template-columns: 1fr;
        justify-items: start;
      }
    }

    @media (max-width: 680px) {
      .sell-shell {
        width: min(100% - 24px, 1180px);
      }

      .sell-hero {
        padding-top: 54px;
      }

      .sell-hero h1 {
        letter-spacing: -.055em;
      }

      .sell-actions,
      .sell-actions .sell-btn {
        width: 100%;
      }

      .sell-proof,
      .sell-card-grid,
      .sell-workflow,
      .sell-insight,
      .sell-stat-row {
        grid-template-columns: 1fr;
      }

      .sell-hero-card {
        min-height: 430px;
        border-radius: 26px;
      }

      .sell-ticket-preview {
        left: 16px;
        right: 16px;
        bottom: 18px;
        width: auto;
      }

      .sell-dashboard__body {
        padding: 14px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .sell-page *,
      .sell-page *::before,
      .sell-page *::after {
        animation-duration: .001ms;
        animation-iteration-count: 1;
        scroll-behavior: auto;
        transition-duration: .001ms;
      }

      .sell-reveal,
      .sell-reveal-left,
      .sell-reveal-right {
        opacity: 1;
        transform: none;
      }
    }

/* Source: public_html/worldwide-coverage.php */
.countries-list {
         list-style: none;
         padding: 0;
      }

      .country-item {
         display: inline-block;
         width: 45%;
         /* Set the width to display two items per row */
         margin-bottom: 10px;
      }

      .country-flag {
         vertical-align: middle;
         margin-right: 10px;
      }


/* Source: public_html/live-chat.php */
        .live-chat-page {
            background: #f8fafc;
            color: #111827;
        }

        .live-chat-hero {
            padding: 112px 0 56px;
            background:
                linear-gradient(135deg, rgba(100, 0, 0, .08), rgba(14, 165, 233, .08)),
                #fff;
            border-bottom: 1px solid #e5e7eb;
        }

        .live-chat-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 14px;
            color: #640000;
            font-size: .82rem;
            font-weight: 520;
            text-transform: uppercase;
            letter-spacing: 0;
        }

        .live-chat-hero h1 {
            max-width: 780px;
            margin: 0 0 16px;
            font-size: clamp(2rem, 4vw, 3.7rem);
            line-height: 1.05;
            font-weight: 749;
            letter-spacing: 0;
        }

        .live-chat-lead {
            max-width: 720px;
            margin: 0;
            color: #4b5563;
            font-size: 1.08rem;
            line-height: 1.75;
        }

        .live-chat-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin-top: 28px;
        }

        .live-chat-primary,
        .live-chat-secondary {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            min-height: 48px;
            padding: 0 20px;
            border-radius: 8px;
            font-weight: 520;
            text-decoration: none;
            border: 1px solid transparent;
            cursor: pointer;
        }

        .live-chat-primary {
            background: #640000;
            color: #fff;
        }

        .live-chat-primary:hover,
        .live-chat-primary:focus {
            color: #fff;
            background: #4f0000;
        }

        .live-chat-secondary {
            background: #fff;
            color: #111827;
            border-color: #d1d5db;
        }

        .live-chat-secondary:hover,
        .live-chat-secondary:focus {
            color: #111827;
            border-color: #9ca3af;
        }

        .live-chat-status {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-top: 18px;
            padding: 9px 12px;
            border-radius: 8px;
            background: #ecfdf5;
            color: #047857;
            font-size: .9rem;
            font-weight: 700;
        }

        .live-chat-section {
            padding: 46px 0 64px;
        }

        .live-chat-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
            gap: 28px;
            align-items: start;
        }

        .live-chat-panel,
        .live-chat-card {
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 8px;
            box-shadow: 0 16px 40px rgba(15, 23, 42, .06);
        }

        .live-chat-panel {
            padding: 26px;
        }

        .live-chat-panel h2,
        .live-chat-side h2 {
            margin: 0 0 12px;
            font-size: 1.35rem;
            font-weight: 749;
        }

        .live-chat-panel p,
        .live-chat-card p {
            color: #4b5563;
            line-height: 1.7;
        }

        .live-chat-steps {
            display: grid;
            gap: 14px;
            margin-top: 22px;
        }

        .live-chat-step {
            display: grid;
            grid-template-columns: 42px 1fr;
            gap: 14px;
            padding: 16px;
            border: 1px solid #e5e7eb;
            border-radius: 8px;
            background: #f9fafb;
        }

        .live-chat-step-number {
            width: 42px;
            height: 42px;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #640000;
            color: #fff;
            font-weight: 749;
        }

        .live-chat-step h3 {
            margin: 0 0 4px;
            font-size: 1rem;
            font-weight: 749;
        }

        .live-chat-step p {
            margin: 0;
        }

        .live-chat-side {
            display: grid;
            gap: 16px;
        }

        .live-chat-card {
            padding: 20px;
        }

        .live-chat-card h3 {
            display: flex;
            align-items: center;
            gap: 10px;
            margin: 0 0 8px;
            font-size: 1rem;
            font-weight: 749;
        }

        .live-chat-card p {
            margin: 0;
        }

        .live-chat-note {
            margin-top: 22px;
            padding: 16px;
            border-radius: 8px;
            background: #fbf4ef;
            color: #5a2f17;
            line-height: 1.65;
        }

        @media (max-width: 767.98px) {
            .live-chat-hero {
                padding: 94px 0 40px;
            }

            .live-chat-grid {
                grid-template-columns: 1fr;
            }

            .live-chat-panel {
                padding: 20px;
            }
        }
    

/* ═══════════════════════════════════════════════════════
   FEATURES PAGE  -  /features
   ═══════════════════════════════════════════════════════ */

body.feat-page {
  background: #faf9f9;
  color: #1a1011;
}

/* ── Hero ──────────────────────────────────────────────── */
.feat-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 8%,  rgba(255,255,255,.10), transparent 22rem),
    radial-gradient(circle at 85% 78%, rgba(0,0,0,.22),        transparent 24rem),
    linear-gradient(135deg, #7b0202 0%, #4a0303 46%, #1a0101 100%);
  color: #fff;
  padding: 96px 0 80px;
  text-align: center;
}

.feat-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(255,255,255,.06)'/%3E%3C/svg%3E");
  pointer-events: none;
}

.feat-hero__inner { position: relative; z-index: 1; }

.feat-hero__kicker {
  display: inline-block;
  border: 1px solid rgba(255,255,255,.30);
  border-radius: 999px;
  padding: 6px 18px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(255,255,255,.88);
  margin-bottom: 24px;
}

.feat-hero__h1 {
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 520;
  line-height: 1.08;
  letter-spacing: -.03em;
  color: #fff;
  margin: 0 auto 20px;
  max-width: 820px;
}

.feat-hero__sub {
  font-size: 1.1rem;
  color: rgba(255,255,255,.80);
  max-width: 640px;
  margin: 0 auto 36px;
  line-height: 1.65;
}

.feat-hero__actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

.feat-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: #fff;
  color: var(--sr-primary);
  font-weight: 520;
  border-radius: 12px;
  text-decoration: none;
  font-size: 15px;
  box-shadow: 0 8px 24px rgba(0,0,0,.22);
  transition: transform .15s, box-shadow .15s;
}

.feat-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(0,0,0,.28);
  color: #5e0101 !important;
}

.feat-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: rgba(255,255,255,.12);
  font-weight: 700;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.30);
  text-decoration: none;
  font-size: 15px;
  transition: background .15s;
  color: #fff;
}

.feat-btn-ghost:hover { background: rgba(255,255,255,.22); color: #fff; }

/* ── Trust strip ───────────────────────────────────────── */
.feat-trust {
  background: #fff;
  border-bottom: 1px solid #f0e8e8;
}

.feat-trust__inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}

.feat-trust__item {
  padding: 28px 20px;
  text-align: center;
  border-right: 1px solid #f0e8e8;
}

.feat-trust__item:last-child { border-right: none; }

.feat-trust__val {
  font-size: 2rem;
  font-weight: 749;
  color: #7b0202;
  line-height: 1;
  margin-bottom: 4px;
}

.feat-trust__label {
  font-size: 13px;
  color: #6b5a58;
  font-weight: 620;
}

/* ── Section chrome ────────────────────────────────────── */
.feat-section {
  padding: 80px 0;
}

.feat-section--alt { background: #fff; }

.feat-section__header {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 52px;
}

.feat-section__header--center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.feat-btn-primary--lg {
  font-size: 16px;
  padding: 15px 34px;
}

.feat-btn-primary--md {
  font-size: 15px;
  padding: 13px 28px;
}

.feat-btn-primary--xl {
  font-size: 16px;
  padding: 16px 36px;
}

.feat-btn-primary--brand {
  background: #7b0202;
  color: #fff;
  box-shadow: 0 8px 24px rgba(123,2,2,.26);
}

.feat-btn-ghost--lg {
  font-size: 16px;
  padding: 15px 34px;
}

.sr-search-hero__icon-row {
  margin-bottom: 12px;
}

.sr-search-meta--spaced {
  margin-bottom: 16px;
}

.sr-search-empty__action {
  margin-top: 20px;
  display: inline-flex;
  gap: 8px;
}

.camp-unsubscribe-shell {
  max-width: 620px;
  margin: 8vh auto;
}

.sr-chat-hidden {
  display: none;
}

.sr-initially-hidden {
  display: none;
}

.sr-ml-10 {
  margin-left: 10px;
}

.sr-status-container {
  max-width: 760px;
}

.sr-status-banner__updated {
  margin-left: auto;
  font-size: .8125rem;
  font-weight: 400;
  opacity: .7;
}

.sr-status-services-title {
  margin-bottom: 20px;
}

.sr-status-incidents-title {
  margin-top: 48px;
  margin-bottom: 16px;
  font-size: 1.25rem;
}

.sr-status-empty-note {
  color: var(--sr-text-muted);
  padding: 24px;
  background: var(--sr-surface-alt);
  border-radius: 10px;
  border: 1px solid var(--sr-border);
}

.sr-status-ok-icon {
  color: #10b981;
  margin-right: 8px;
}

.sr-status-subscribe {
  margin-top: 40px;
  padding: 24px;
  background: var(--sr-surface);
  border: 1px solid var(--sr-border);
  border-radius: 12px;
  text-align: center;
}

.sr-status-subscribe__title {
  font-size: 1.1rem;
  margin-bottom: 8px;
}

.sr-status-subscribe__body {
  color: var(--sr-text-muted);
  margin: 0;
}

.popup__title--spaced {
  margin: 10px 0 8px;
}

.sr-home__section-eyebrow--light {
  color: rgba(255,255,255,.75);
}

.sr-home-section-block {
  margin-bottom: 48px;
}

.auth-alert-inline--ok { color: #15803d; }
.auth-alert-inline--warn { color: #b58900; }
.auth-alert-inline--err { color: #c00; }

.sr-icon-xs {
  font-size: 11px;
}

.pp-empty-bordered {
  border: 1px solid var(--ads-border);
  border-radius: 14px;
}

.pp-empty-icon {
  font-size: 20px;
  opacity: .2;
  display: block;
  margin-bottom: 10px;
}

.sr-muted-small {
  opacity: .7;
  font-size: .9rem;
}

.sr-danger-copy {
  color: #b91c1c;
  font-weight: 700;
}

.sell-delay-02 { --delay: .02s; }
.sell-delay-12 { --delay: .12s; }
.sell-delay-18 { --delay: .18s; }
.sell-delay-22 { --delay: .22s; }
.sell-delay-32 { --delay: .32s; }
.sell-delay-42 { --delay: .42s; }
.sell-ticket-icon { color: #6E0000; }

.scanner-history-link {
  text-decoration: none;
  color: inherit;
  flex-grow: 1;
}

.scanner-history-remove {
  margin-left: 10px;
}

.scanner-clear-form {
  text-align: center;
  margin-top: 20px;
}

.scanner-primary-link,
.scanner-secondary-link {
  font-weight: 700;
  text-decoration: none;
}

.scanner-primary-link {
  color: #018871;
}

.scanner-secondary-link {
  color: #39786B;
}

.partner-dashboard-shell {
  padding: 48px 0 80px;
}

.partner-dashboard-hero {
  margin-bottom: 28px;
}

.partner-dashboard-flash {
  margin-bottom: 20px;
}

.partner-panel-spaced,
.partner-table-wrap {
  margin-bottom: 20px;
}

.partner-panel-spaced {
  margin-bottom: 18px;
}

.partner-panel-title,
.partner-table-title {
  font-size: 13px;
  font-weight: 573;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--ads-muted);
  margin: 0 0 16px;
}

.partner-panel-title--roomy {
  margin-bottom: 18px;
}

.partner-panel-copy {
  font-size: 13px;
  color: var(--ads-muted);
  margin: 0 0 14px;
}

.partner-earn-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.partner-earn-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ads-text);
}

.partner-earn-list__muted {
  color: var(--ads-muted);
  font-weight: 554;
}

.partner-earn-list__icon {
  color: #7b0202;
  width: 18px;
}

.partner-earn-list__icon--muted {
  color: inherit;
}

.partner-inline-link,
.partner-table-link {
  color: #7b0202;
  text-decoration: none;
  font-weight: 600;
}

.partner-withdraw-all {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--ads-border);
}

.partner-table-head {
  padding: 14px 16px;
  border-bottom: 1px solid var(--ads-border);
  background: var(--ads-surface-alt);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.partner-table-title {
  margin: 0;
}

.partner-table-link {
  font-size: 12.5px;
}

.partner-muted-note {
  font-size: 12.5px;
  color: var(--ads-muted);
}

.partner-table-empty {
  padding: 32px 16px;
}

.partner-table-empty--large {
  padding: 40px 16px;
}

.partner-empty-icon {
  font-size: 20px;
  opacity: .2;
  display: block;
  margin-bottom: 10px;
}

.partner-why-list {
  display: grid;
  gap: 16px;
}

.partner-why-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--ads-text);
  margin: 0 0 4px;
}

.partner-why-body {
  font-size: 13.5px;
  color: var(--ads-muted);
  margin: 0;
  line-height: 1.6;
}

.admin-danger-action {
  background-color: #b91c1c;
  color: #fff;
}

.auth-card--narrow {
  max-width: 440px;
}

.auth-card--verify {
  max-width: 480px;
}

.auth-card--update-info {
  max-width: 500px;
}

.auth-card--unsubscribe {
  max-width: 460px;
}

.auth-card__brand-mark {
  height: 30px;
}

.auth-card__logo--center,
.auth-text-center,
.auth-action-row {
  text-align: center;
}

.auth-card__logo--left {
  text-align: left;
  margin-bottom: 20px;
}

.auth-card__logo--center {
  margin-bottom: 20px;
}

.auth-card__icon--centered {
  margin: 0 auto 16px;
}

.auth-label--center {
  text-align: center;
  display: block;
}

.auth-input--code {
  text-align: center;
  font-size: 22px;
  letter-spacing: .3em;
  font-weight: 573;
}

.auth-input--select {
  cursor: pointer;
}

.auth-input--readonly {
  background: #f9f5f5;
  opacity: .7;
}

.auth-input--textarea {
  height: auto;
  padding: 12px 16px;
  resize: vertical;
}

.auth-form-panel--compact {
  padding-top: 32px;
  padding-bottom: 32px;
}

.auth-form-group--flush {
  margin-bottom: 0;
}

.auth-card__links--center {
  justify-content: center;
}

.auth-card__cta--narrow {
  max-width: 220px;
}

.auth-card__secondary--muted {
  font-size: 12.5px;
  color: #a07070;
}

.auth-success-block {
  padding-top: 32px;
}

.auth-submit--link {
  text-decoration: none;
}

.auth-mb-16 { margin-bottom: 16px; }
.auth-mb-20 { margin-bottom: 20px; }
.auth-mb-22 { margin-bottom: 22px; }
.auth-mb-24 { margin-bottom: 24px; }
.auth-mt-8 { margin-top: 8px; }
.auth-mt-12 { margin-top: 12px; }
.auth-mt-16 { margin-top: 16px; }
.auth-mt-24 { margin-top: 24px; }

.lp-ticket-scanner-cta {
  text-align: center;
  margin-top: 40px;
}

.feat-trust__icon {
  font-size: 1.6rem;
}

.feat-spot2__header {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 48px;
}

.feat-spot2__kicker {
  color: rgba(255,255,255,.65);
}

.feat-spot2__h2 {
  color: #fff;
}

.feat-spot2__body {
  color: rgba(255,255,255,.80);
}

.feat-section__kicker {
  font-size: 11.5px;
  font-weight: 520;
  text-transform: uppercase;
  letter-spacing: .10em;
  color: #7b0202;
  margin-bottom: 12px;
}

.feat-section__h2 {
  font-size: clamp(1.7rem, 3.5vw, 2.4rem);
  font-weight: 520;
  letter-spacing: -.03em;
  margin: 0 0 14px;
  color: #1a0101;
}

.feat-section__sub {
  color: #6b5a58;
  font-size: 1rem;
  line-height: 1.65;
  margin: 0;
}

/* ── Feature card grid ─────────────────────────────────── */
.feat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  gap: 20px;
}

.feat-card {
  background: #fff;
  border: 1px solid #f0e8e8;
  border-radius: 20px;
  padding: 26px 24px;
  transition: border-color .15s, box-shadow .2s, transform .15s;
}

.feat-card:hover {
  border-color: rgba(123,2,2,.22);
  box-shadow: 0 12px 36px rgba(123,2,2,.08);
  transform: translateY(-3px);
}

.feat-card__icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: #fff1f1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #7b0202;
  margin-bottom: 16px;
  flex-shrink: 0;
}

.feat-card__title {
  font-size: 15px;
  font-weight: 520;
  color: #1a0101;
  margin: 0 0 8px;
}

.feat-card__desc {
  font-size: 13.5px;
  color: #6b5a58;
  line-height: 1.6;
  margin: 0;
}

/* ── Spotlight / alternating feature highlight ─────────── */
.feat-spot {
  padding: 80px 0;
}

.feat-spot--alt { background: #fff; }

.feat-spot__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.feat-spot__grid--reverse { direction: rtl; }
.feat-spot__grid--reverse > * { direction: ltr; }

.feat-spot__kicker {
  font-size: 11.5px;
  font-weight: 520;
  text-transform: uppercase;
  letter-spacing: .10em;
  color: #7b0202;
  margin-bottom: 14px;
}

.feat-spot__h2 {
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 520;
  letter-spacing: -.03em;
  color: #1a0101;
  margin: 0 0 16px;
  line-height: 1.1;
}

.feat-spot__body {
  font-size: 1rem;
  color: #4d3533;
  line-height: 1.7;
  margin: 0 0 28px;
}

.feat-spot__checklist {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  display: grid;
  gap: 10px;
}

.feat-spot__checklist li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 620;
  color: #1a0101;
}

.feat-spot__checklist li::before {
  content: '';
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff1f1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%237b0202' d='M16.7 5.3a1 1 0 010 1.4l-8 8a1 1 0 01-1.4 0l-3-3a1 1 0 011.4-1.4L8 12.59l7.3-7.3a1 1 0 011.4 0z'/%3E%3C/svg%3E") center/12px no-repeat;
  flex-shrink: 0;
}

.feat-spot__visual {
  border-radius: 24px;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.12), transparent 50%),
    linear-gradient(135deg, #7b0202 0%, #4a0303 60%, #1a0101 100%);
  aspect-ratio: 4/3;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 36px;
  box-shadow: 0 24px 60px rgba(123,2,2,.20);
}

.feat-spot__visual-icon {
  font-size: 80px;
  color: rgba(255,255,255,.90);
  filter: drop-shadow(0 4px 16px rgba(0,0,0,.28));
}

/* ── Type grid (corporate / concert / community) ───────── */
.feat-type-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 32px;
}

.feat-type-card {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 18px;
  padding: 24px 22px;
}

.feat-type-card__icon {
  font-size: 20px;
  color: rgba(255,255,255,.85);
  margin-bottom: 14px;
}

.feat-type-card__title {
  font-size: 15px;
  font-weight: 520;
  color: #fff;
  margin: 0 0 8px;
}

.feat-type-card__body {
  font-size: 13px;
  color: rgba(255,255,255,.75);
  line-height: 1.6;
  margin: 0;
}

.feat-spot2-wrap {
  background:
    radial-gradient(circle at 10% 5%, rgba(255,255,255,.06), transparent 26rem),
    linear-gradient(135deg, #7b0202 0%, #3d0101 55%, #100101 100%);
  padding: 80px 0;
  color: #fff;
}

.feat-spot2-wrap .feat-spot__h2 { color: #fff; }
.feat-spot2-wrap .feat-spot__body { color: rgba(255,255,255,.82); }

/* ── FAQ ───────────────────────────────────────────────── */
.feat-faq {
  padding: 80px 0;
  background: #fff;
}

.feat-faq__list {
  max-width: 760px;
  margin: 0 auto;
  display: grid;
  gap: 12px;
}

.feat-faq__item {
  border: 1px solid #f0e8e8;
  border-radius: 16px;
  overflow: hidden;
}

.feat-faq__q {
  width: 100%;
  text-align: left;
  background: #fff;
  border: none;
  padding: 20px 22px;
  font-size: 15px;
  font-weight: 700;
  color: #1a0101;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  cursor: pointer;
  transition: background .12s;
}

.feat-faq__q:hover { background: #fff7f7; }

.feat-faq__q i { color: #7b0202; transition: transform .2s; flex-shrink: 0; }

.feat-faq__q[aria-expanded="true"] i { transform: rotate(180deg); }

.feat-faq__a {
  padding: 0 22px 20px;
  font-size: 14px;
  color: #4d3533;
  line-height: 1.7;
}

/* ── Final CTA band ────────────────────────────────────── */
.feat-cta {
  padding: 100px 0;
  background:
    radial-gradient(circle at 14% 10%, rgba(255,255,255,.08), transparent 24rem),
    linear-gradient(135deg, #7b0202 0%, #4a0303 52%, #1a0101 100%);
  text-align: center;
  color: #fff;
}

.feat-cta__h2 {
  font-size: clamp(2rem, 4.5vw, 3.4rem);
  font-weight: 520;
  letter-spacing: -.04em;
  color: #fff;
  margin: 0 auto 16px;
  max-width: 700px;
  line-height: 1.08;
}

.feat-cta__sub {
  color: rgba(255,255,255,.78);
  font-size: 1.05rem;
  max-width: 520px;
  margin: 0 auto 36px;
  line-height: 1.6;
}

.feat-cta__note {
  font-size: 12.5px;
  color: rgba(255,255,255,.55);
  margin-top: 16px;
}

/* ── Dark mode overrides ───────────────────────────────── */
html.night-mode body.feat-page     { background: #0e0404; color: #f5ecea; }
html.night-mode .feat-section      { background: #0e0404; }
html.night-mode .feat-section--alt { background: #150606; }
html.night-mode .feat-trust        { background: #150606; border-color: rgba(255,200,200,.08); }
html.night-mode .feat-trust__item  { border-color: rgba(255,200,200,.08); }
html.night-mode .feat-trust__label { color: #8A8F98; }
html.night-mode .feat-card         { background: #1c0707; border-color: rgba(255,180,180,.10); }
html.night-mode .feat-card:hover   { border-color: rgba(255,122,122,.25); }
html.night-mode .feat-card__icon   { background: rgba(255,122,122,.12); color: #B80000; }
html.night-mode .feat-card__title  { color: #f5ecea; }
html.night-mode .feat-card__desc   { color: #8A8F98; }
html.night-mode .feat-section__h2  { color: #f5ecea; }
html.night-mode .feat-section__sub { color: #8A8F98; }
html.night-mode .feat-spot--alt    { background: #150606; }
html.night-mode .feat-spot__h2     { color: #f5ecea; }
html.night-mode .feat-spot__body   { color: #8A8F98; }
html.night-mode .feat-spot__checklist li { color: #f5ecea; }
html.night-mode .feat-spot__checklist li::before { background-color: rgba(255,122,122,.12); }
html.night-mode .feat-faq          { background: #150606; }
html.night-mode .feat-faq__item    { border-color: rgba(255,180,180,.10); }
html.night-mode .feat-faq__q       { background: #1c0707; color: #f5ecea; }
html.night-mode .feat-faq__q:hover { background: #240a0a; }
html.night-mode .feat-faq__a       { color: #8A8F98; }

/* ── Responsive ────────────────────────────────────────── */
@media (max-width: 991px) {
  .feat-trust__inner { grid-template-columns: repeat(2, 1fr); }
  .feat-trust__item:nth-child(2) { border-right: none; }
  .feat-spot__grid { grid-template-columns: 1fr; gap: 36px; }
  .feat-spot__grid--reverse { direction: ltr; }
  .feat-spot__visual { aspect-ratio: 16/7; }
  .feat-type-grid { grid-template-columns: 1fr; }
}

@media (max-width: 639px) {
  .feat-hero { padding: 72px 0 60px; }
  .feat-section, .feat-spot, .feat-faq, .feat-cta { padding: 56px 0; }
  .feat-trust__inner { grid-template-columns: repeat(2, 1fr); }
  .feat-grid { grid-template-columns: 1fr; }
}


/* ═══════════════════════════════════════════════════════
   ABOUT PAGE - /about
   ═══════════════════════════════════════════════════════ */

body.abt-page {
  background: #ffffff;
  color: #1a0101;
}

/* ── Hero ──────────────────────────────────────────────── */
.abt-hero {
  position: relative;
  overflow: hidden;
  padding: 120px 0 96px;
  background:
    radial-gradient(circle at 78% 10%, rgba(255,255,255,.09), transparent 28rem),
    radial-gradient(circle at 8%  80%, rgba(0,0,0,.24),        transparent 22rem),
    linear-gradient(145deg, #7b0202 0%, #520202 44%, #140101 100%);
  text-align: center;
}

.abt-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(255,255,255,.04)'/%3E%3C/svg%3E");
  pointer-events: none;
}

.abt-hero__inner { position: relative; z-index: 1; }

.abt-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 999px;
  padding: 6px 18px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.80);
  margin-bottom: 28px;
}

.abt-hero__h1 {
  font-size: clamp(2.4rem, 5.5vw, 4.4rem);
  font-weight: 520;
  letter-spacing: -.04em;
  line-height: 1.06;
  color: #fff;
  margin: 0 auto 24px;
  max-width: 860px;
}

.abt-hero__sub {
  font-size: 1.15rem;
  color: rgba(255,255,255,.76);
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.65;
}

/* ── Shared section chrome ─────────────────────────────── */
.abt-section {
  padding: 88px 0;
}

.abt-section--alt { background: #faf8f8; }
.abt-section--dark {
  background:
    radial-gradient(circle at 10% 8%, rgba(255,255,255,.06), transparent 26rem),
    linear-gradient(135deg, #7b0202 0%, #3d0101 52%, #100101 100%);
  color: #fff;
}

.abt-kicker {
  font-size: 11.5px;
  font-weight: 520;
  text-transform: uppercase;
  letter-spacing: .11em;
  color: #7b0202;
  margin-bottom: 14px;
}

.abt-section--dark .abt-kicker { color: rgba(255,255,255,.65); }

.abt-h2 {
  font-size: clamp(1.8rem, 3.8vw, 2.7rem);
  font-weight: 520;
  letter-spacing: -.03em;
  line-height: 1.1;
  color: #1a0101;
  margin: 0 0 18px;
}

.abt-section--dark .abt-h2 { color: #fff; }

.abt-sub {
  font-size: 1rem;
  color: #6b3030;
  line-height: 1.7;
  margin: 0;
}

.abt-section--dark .abt-sub { color: rgba(255,255,255,.75); }

/* ── Intro split ───────────────────────────────────────── */
.abt-intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}

.abt-intro-text h2 { margin-bottom: 22px; }

.abt-body {
  font-size: 1.05rem;
  color: #3d1212;
  line-height: 1.75;
  margin: 0 0 18px;
}

.abt-body:last-child { margin-bottom: 0; }

.abt-intro-visual {
  border-radius: 28px;
  overflow: hidden;
  background:
    radial-gradient(circle at 25% 20%, rgba(255,255,255,.12), transparent 50%),
    linear-gradient(145deg, #7b0202 0%, #420202 56%, #160101 100%);
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px;
  box-shadow: 0 28px 70px rgba(123,2,2,.22);
}

.abt-intro-icon {
  font-size: 96px;
  color: rgba(255,255,255,.88);
  filter: drop-shadow(0 6px 20px rgba(0,0,0,.3));
}

/* ── Impact stats grid ─────────────────────────────────── */
.abt-stats-kicker {
  text-align: center;
  font-size: 11.5px;
  font-weight: 520;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #7b0202;
  margin-bottom: 40px;
}

.abt-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.abt-stat-card {
  background: #fff;
  border: 1px solid #f0e4e4;
  border-radius: 22px;
  padding: 32px 24px;
  text-align: center;
  box-shadow: 0 6px 20px rgba(123,2,2,.05);
  transition: transform .15s, box-shadow .15s;
}

.abt-stat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(123,2,2,.10);
}

.abt-stat-val {
  font-size: 2.6rem;
  font-weight: 749;
  color: #7b0202;
  line-height: 1;
  margin-bottom: 8px;
}

.abt-stat-label {
  font-size: 13px;
  font-weight: 700;
  color: #6b3030;
}

/* ── Story section ─────────────────────────────────────── */
.abt-story-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}

.abt-story-block p + p { margin-top: 18px; }

.abt-story-art {
  position: relative;
}

.abt-story-art__card {
  background: #fff;
  border: 1px solid #f0e4e4;
  border-radius: 22px;
  padding: 28px 24px;
  box-shadow: 0 12px 36px rgba(123,2,2,.08);
}

.abt-story-art__card + .abt-story-art__card {
  margin-top: 16px;
}

.abt-story-art__label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: #7b0202;
  margin-bottom: 6px;
}

.abt-story-art__val {
  font-size: 1.5rem;
  font-weight: 520;
  color: #1a0101;
  margin: 0;
}

/* ── Value cards ───────────────────────────────────────── */
.abt-values-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.abt-value-card {
  background: #fff;
  border: 1px solid #f0e4e4;
  border-radius: 22px;
  padding: 32px 28px;
  transition: border-color .15s, box-shadow .2s, transform .15s;
}

.abt-value-card:hover {
  border-color: rgba(123,2,2,.22);
  box-shadow: 0 14px 38px rgba(123,2,2,.09);
  transform: translateY(-3px);
}

.abt-value-icon {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  background: #fff1f1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #7b0202;
  margin-bottom: 18px;
}

.abt-value-title {
  font-size: 17px;
  font-weight: 520;
  color: #1a0101;
  margin: 0 0 10px;
}

.abt-value-body {
  font-size: 14px;
  color: #6b3030;
  line-height: 1.65;
  margin: 0;
}

/* ── For organisers / for attendees ───────────────────── */
.abt-split-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid #f0e4e4;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(123,2,2,.07);
}

.abt-split-panel {
  padding: 52px 44px;
  background: #fff;
}

.abt-split-panel--dark {
  background:
    radial-gradient(circle at 20% 15%, rgba(255,255,255,.09), transparent 24rem),
    linear-gradient(145deg, #7b0202 0%, #420202 60%, #140101 100%);
}

.abt-split-panel__kicker {
  font-size: 11px;
  font-weight: 520;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #7b0202;
  margin-bottom: 12px;
}

.abt-split-panel--dark .abt-split-panel__kicker { color: rgba(255,255,255,.60); }

.abt-split-panel__h2 {
  font-size: 1.7rem;
  font-weight: 520;
  color: #1a0101;
  margin: 0 0 14px;
  line-height: 1.15;
}

.abt-split-panel--dark .abt-split-panel__h2 { color: #fff; }

.abt-split-panel__body {
  font-size: 14.5px;
  color: #4d1c1c;
  line-height: 1.7;
  margin: 0 0 28px;
}

.abt-split-panel--dark .abt-split-panel__body { color: rgba(255,255,255,.78); }

.abt-split-list {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  display: grid;
  gap: 14px;
}

.abt-split-list li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
}

.abt-split-list__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #7b0202;
  margin-top: 7px;
  flex-shrink: 0;
}

.abt-split-panel--dark .abt-split-list__dot { background: rgba(255,255,255,.70); }

.abt-split-list li strong {
  display: block;
  font-size: 13.5px;
  font-weight: 700;
  color: #1a0101;
  margin-bottom: 2px;
}

.abt-split-panel--dark .abt-split-list li strong { color: #fff; }

.abt-split-list li span {
  font-size: 13px;
  color: #6b3030;
  line-height: 1.55;
}

.abt-split-panel--dark .abt-split-list li span { color: rgba(255,255,255,.70); }

.abt-split-divider {
  width: 1px;
  background: #f0e4e4;
  align-self: stretch;
}

/* ── Global reach ──────────────────────────────────────── */
.abt-global-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

.abt-global-items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 32px;
}

.abt-global-item {
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 16px;
  padding: 18px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13.5px;
  font-weight: 700;
  color: #fff;
}

.abt-global-item i { color: rgba(255,255,255,.65); font-size: 18px; }

.abt-globe-art {
  border-radius: 28px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 120px;
  color: rgba(255,255,255,.80);
  box-shadow: inset 0 2px 0 rgba(255,255,255,.08);
  filter: drop-shadow(0 0 40px rgba(255,255,255,.10));
}

/* ── Promise cards ─────────────────────────────────────── */
.abt-promise-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.abt-promise-card {
  background: #fff;
  border: 1px solid #f0e4e4;
  border-radius: 20px;
  padding: 28px 24px;
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 16px;
  align-items: start;
}

.abt-promise-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #fff1f1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #7b0202;
  flex-shrink: 0;
}

.abt-promise-title {
  font-size: 15px;
  font-weight: 520;
  color: #1a0101;
  margin: 0 0 8px;
}

.abt-promise-body {
  font-size: 13.5px;
  color: #6b3030;
  line-height: 1.65;
  margin: 0;
}

/* ── Final CTA ─────────────────────────────────────────── */
.abt-cta {
  padding: 112px 0;
  background:
    radial-gradient(circle at 90% 90%, rgba(255,255,255,.06), transparent 22rem),
    linear-gradient(145deg, #7b0202 0%, #440202 50%, #0d0101 100%);
  text-align: center;
}

.abt-cta__eyebrow {
  display: inline-block;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  padding: 5px 16px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
  margin-bottom: 24px;
}

.abt-cta__h2 {
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  font-weight: 520;
  letter-spacing: -.04em;
  color: #fff;
  margin: 0 auto 18px;
  max-width: 720px;
  line-height: 1.08;
}

.abt-cta__sub {
  font-size: 1.05rem;
  color: rgba(255,255,255,.75);
  max-width: 520px;
  margin: 0 auto 40px;
  line-height: 1.65;
}

.abt-cta__actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

.abt-stat-icon {
  font-size: 22px;
  color: #7b0202;
  opacity: .45;
  margin-bottom: 10px;
  display: block;
}

.abt-story-icon {
  color: #7b0202;
  font-size: 1.2rem;
}

.abt-copy-narrow {
  max-width: 580px;
  margin-bottom: 52px;
}

.abt-btn-primary {
  background: #7b0202;
  color: #fff;
  box-shadow: 0 8px 24px rgba(123,2,2,.24);
}

.abt-btn-ghost {
  border-color: rgba(255,255,255,.35);
}

.abt-cta-btn {
  font-size: 16px;
  padding: 15px 34px;
}

.abt-cta__note {
  margin-top: 18px;
  font-size: 12.5px;
  color: rgba(255,255,255,.45);
}

/* ── Dark mode ─────────────────────────────────────────── */
html.night-mode body.abt-page          { background: #0e0404; color: #f5ecea; }
html.night-mode .abt-section           { background: #0e0404; }
html.night-mode .abt-section--alt      { background: #130505; }
html.night-mode .abt-h2                { color: #f5ecea; }
html.night-mode .abt-body              { color: #d4a0a0; }
html.night-mode .abt-sub               { color: #8A8F98; }
html.night-mode .abt-kicker            { color: #B80000; }
html.night-mode .abt-stat-card         { background: #1c0707; border-color: rgba(255,180,180,.10); }
html.night-mode .abt-value-card        { background: #1c0707; border-color: rgba(255,180,180,.10); }
html.night-mode .abt-value-icon        { background: rgba(255,122,122,.12); color: #B80000; }
html.night-mode .abt-value-title       { color: #f5ecea; }
html.night-mode .abt-value-body        { color: #8A8F98; }
html.night-mode .abt-split-grid        { border-color: rgba(255,180,180,.12); }
html.night-mode .abt-split-panel       { background: #1c0707; }
html.night-mode .abt-split-divider     { background: rgba(255,180,180,.10); }
html.night-mode .abt-split-panel__h2   { color: #f5ecea; }
html.night-mode .abt-split-panel__body { color: #8A8F98; }
html.night-mode .abt-split-list li strong { color: #f5ecea; }
html.night-mode .abt-split-list li span   { color: #8A8F98; }
html.night-mode .abt-split-list__dot      { background: #B80000; }
html.night-mode .abt-split-panel__kicker  { color: #B80000; }
html.night-mode .abt-story-art__card { background: #1c0707; border-color: rgba(255,180,180,.10); }
html.night-mode .abt-story-art__val  { color: #f5ecea; }
html.night-mode .abt-story-art__label { color: #B80000; }
html.night-mode .abt-promise-card    { background: #1c0707; border-color: rgba(255,180,180,.10); }
html.night-mode .abt-promise-icon    { background: rgba(255,122,122,.12); color: #B80000; }
html.night-mode .abt-promise-title   { color: #f5ecea; }
html.night-mode .abt-promise-body    { color: #8A8F98; }
html.night-mode .abt-stats-kicker    { color: #B80000; }
html.night-mode .abt-stat-label      { color: #8A8F98; }

/* ── Responsive ────────────────────────────────────────── */
@media (max-width: 991px) {
  .abt-intro-grid,
  .abt-story-grid,
  .abt-global-grid  { grid-template-columns: 1fr; gap: 40px; }
  .abt-intro-visual { aspect-ratio: 16/7; }
  .abt-globe-art    { aspect-ratio: 16/7; font-size: 80px; }
  .abt-stats-grid   { grid-template-columns: repeat(2, 1fr); }
  .abt-split-grid   { grid-template-columns: 1fr; }
  .abt-split-divider { display: none; }
  .abt-split-panel  { padding: 40px 28px; }
  .abt-values-grid  { grid-template-columns: 1fr; }
}

@media (max-width: 639px) {
  .abt-hero       { padding: 80px 0 72px; }
  .abt-section    { padding: 60px 0; }
  .abt-stats-grid { grid-template-columns: 1fr; }
  .abt-promise-grid { grid-template-columns: 1fr; }
  .abt-global-items { grid-template-columns: 1fr; }
}


/* ═══════════════════════════════════════════════════════
   LEGAL PAGES - privacy / terms / refund / cookies
   ═══════════════════════════════════════════════════════ */

body.legal-page {
  background: #ffffff;
  color: #1a0505;
}

/* ── Hero band ─────────────────────────────────────────── */
.legal-hero {
  background:
    radial-gradient(circle at 80% 20%, rgba(255,255,255,.07), transparent 22rem),
    linear-gradient(140deg, #6a0202 0%, #3d0101 50%, #0f0101 100%);
  padding: 72px 0 60px;
  color: #fff;
  text-align: center;
}

.legal-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  padding: 5px 16px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
  margin-bottom: 20px;
}

.legal-hero__h1 {
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 520;
  letter-spacing: -.03em;
  color: #fff;
  margin: 0 0 14px;
}

.legal-hero__sub {
  font-size: .97rem;
  color: rgba(255,255,255,.72);
  max-width: 580px;
  margin: 0 auto 20px;
  line-height: 1.65;
}

.legal-hero__meta {
  font-size: 12px;
  color: rgba(255,255,255,.48);
}

.legal-hero__meta strong {
  color: rgba(255,255,255,.70);
  font-weight: 620;
}

/* ── Layout shell ──────────────────────────────────────── */
.legal-shell {
  padding: 64px 0 96px;
}

.legal-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}

/* ── Table of contents sidebar ─────────────────────────── */
.legal-toc {
  position: sticky;
  top: 88px;
  background: #faf8f8;
  border: 1px solid #f0e4e4;
  border-radius: 18px;
  padding: 22px;
}

.legal-toc__heading {
  font-size: 10.5px;
  font-weight: 520;
  text-transform: uppercase;
  letter-spacing: .10em;
  color: #7b0202;
  margin-bottom: 14px;
}

.legal-toc__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 2px;
}

.legal-toc__list a {
  display: block;
  padding: 7px 10px;
  border-radius: 8px;
  font-size: 13px;
  color: #4d1c1c;
  text-decoration: none;
  line-height: 1.4;
  transition: background .12s, color .12s;
}

.legal-toc__list a:hover,
.legal-toc__list a.active {
  background: #fff1f1;
  color: #7b0202;
}

/* ── Main content ──────────────────────────────────────── */
.legal-content {
  max-width: 720px;
}

.legal-section {
  margin-bottom: 52px;
  scroll-margin-top: 96px;
}

.legal-section:last-child { margin-bottom: 0; }

.legal-section__h2 {
  font-size: 1.2rem;
  font-weight: 520;
  color: #1a0505;
  margin: 0 0 14px;
  padding-bottom: 12px;
  border-bottom: 2px solid #f5eaea;
  display: flex;
  align-items: center;
  gap: 10px;
}

.legal-section__h2-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: #fff1f1;
  font-size: 12px;
  font-weight: 520;
  color: #7b0202;
  flex-shrink: 0;
}

.legal-p {
  font-size: 15px;
  color: #3d1212;
  line-height: 1.80;
  margin: 0 0 14px;
}

.legal-p:last-child { margin-bottom: 0; }

.legal-list {
  list-style: none;
  padding: 0;
  margin: 0 0 14px;
  display: grid;
  gap: 8px;
}

.legal-list li {
  display: grid;
  grid-template-columns: 6px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.legal-list li::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #7b0202;
  margin-top: 8px;
}

.legal-list li span {
  font-size: 14.5px;
  color: #3d1212;
  line-height: 1.7;
}

/* Defined-term list (bold label + description) */
.legal-def-list {
  list-style: none;
  padding: 0;
  margin: 0 0 14px;
  display: grid;
  gap: 16px;
}

.legal-def-list li {
  background: #faf8f8;
  border: 1px solid #f0e4e4;
  border-left: 3px solid #7b0202;
  border-radius: 0 10px 10px 0;
  padding: 14px 16px;
}

.legal-def-list li strong {
  display: block;
  font-size: 13.5px;
  font-weight: 520;
  color: #1a0505;
  margin-bottom: 4px;
}

.legal-def-list li span {
  font-size: 13.5px;
  color: #4d2020;
  line-height: 1.65;
}

/* Numbered list for steps */
.legal-steps {
  list-style: none;
  padding: 0;
  margin: 0 0 14px;
  counter-reset: step-counter;
  display: grid;
  gap: 10px;
}

.legal-steps li {
  counter-increment: step-counter;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.legal-steps li::before {
  content: counter(step-counter);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: #fff1f1;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 520;
  color: #7b0202;
  flex-shrink: 0;
}

.legal-steps li span {
  font-size: 14.5px;
  color: #3d1212;
  line-height: 1.7;
  padding-top: 4px;
}

/* Note / callout block */
.legal-note {
  background: #fff8f0;
  border: 1px solid #f5d8b0;
  border-left: 3px solid #b45309;
  border-radius: 0 10px 10px 0;
  padding: 14px 16px;
  margin: 12px 0 14px;
  font-size: 13.5px;
  color: #5c3406;
  line-height: 1.65;
}

/* ── Contact block ─────────────────────────────────────── */
.legal-contact {
  margin-top: 56px;
  background: linear-gradient(135deg, #7b0202 0%, #420202 60%, #100101 100%);
  border-radius: 22px;
  padding: 36px 32px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.legal-contact__text h3 {
  font-size: 17px;
  font-weight: 520;
  color: #fff;
  margin: 0 0 6px;
}

.legal-contact__text p {
  font-size: 14px;
  color: rgba(255,255,255,.78);
  margin: 0;
}

.legal-contact__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.legal-contact-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 11px 22px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: transform .12s, opacity .12s;
}

.legal-contact-btn:hover { transform: translateY(-1px); opacity: .9; }

.legal-contact-btn--light {
  background: #fff;
  color: #5e0101;
}

.legal-contact-btn--ghost {
  background: rgba(255,255,255,.14);
  color: #fff;
  border: 1px solid rgba(255,255,255,.28);
}

/* ── Related policies strip ────────────────────────────── */
.legal-related {
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px solid #f5eaea;
}

.legal-related__label {
  font-size: 11px;
  font-weight: 520;
  text-transform: uppercase;
  letter-spacing: .10em;
  color: #7b0202;
  margin-bottom: 14px;
}

.legal-related__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.legal-related-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 16px;
  border: 1px solid #f0e4e4;
  border-radius: 10px;
  background: #faf8f8;
  font-size: 13px;
  font-weight: 620;
  color: #4d1c1c;
  text-decoration: none;
  transition: border-color .12s, background .12s;
}

.legal-related-link:hover {
  border-color: rgba(123,2,2,.22);
  background: #fff1f1;
  color: #7b0202;
}

/* ── Dark mode ─────────────────────────────────────────── */
html.night-mode body.legal-page          { background: #0e0404; }
html.night-mode .legal-toc               { background: #160606; border-color: rgba(255,180,180,.10); }
html.night-mode .legal-toc__list a       { color: #d4a0a0; }
html.night-mode .legal-toc__list a:hover,
html.night-mode .legal-toc__list a.active { background: rgba(255,122,122,.10); color: #B80000; }
html.night-mode .legal-section__h2       { color: #f5ecea; border-color: rgba(255,180,180,.12); }
html.night-mode .legal-section__h2-num  { background: rgba(255,122,122,.12); color: #B80000; }
html.night-mode .legal-p                 { color: #d4a0a0; }
html.night-mode .legal-list li span      { color: #d4a0a0; }
html.night-mode .legal-list li::before  { background: #B80000; }
html.night-mode .legal-def-list li       { background: #160606; border-color: rgba(255,180,180,.10); border-left-color: #B80000; }
html.night-mode .legal-def-list li strong { color: #f5ecea; }
html.night-mode .legal-def-list li span  { color: #d4a0a0; }
html.night-mode .legal-steps li::before { background: rgba(255,122,122,.12); color: #B80000; }
html.night-mode .legal-steps li span    { color: #d4a0a0; }
html.night-mode .legal-note             { background: rgba(251,191,36,.08); border-color: rgba(251,191,36,.20); color: #fbbf24; }
html.night-mode .legal-related          { border-color: rgba(255,180,180,.10); }
html.night-mode .legal-related-link     { background: #160606; border-color: rgba(255,180,180,.10); color: #d4a0a0; }
html.night-mode .legal-related-link:hover { background: rgba(255,122,122,.10); color: #B80000; }

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 1023px) {
  .legal-layout { grid-template-columns: 1fr; }
  .legal-toc    { position: static; }
  .legal-toc__list { display: flex; flex-wrap: wrap; gap: 4px 0; }
  .legal-toc__list a { padding: 5px 10px; }
}

@media (max-width: 639px) {
  .legal-hero  { padding: 56px 0 44px; }
  .legal-shell { padding: 40px 0 64px; }
  .legal-contact { flex-direction: column; }
}


/* ═══════════════════════════════════════════════════════
   CONTACT PAGE - /contact
   ═══════════════════════════════════════════════════════ */

body.contact-page {
  background: #faf8f8;
  color: #1a0505;
}

/* ── Hero ──────────────────────────────────────────────── */
.contact-hero {
  position: relative;
  overflow: hidden;
  padding: 88px 0 72px;
  background:
    radial-gradient(circle at 76% 14%, rgba(255,255,255,.08), transparent 22rem),
    radial-gradient(circle at 8%  78%, rgba(0,0,0,.22),        transparent 20rem),
    linear-gradient(145deg, #6a0202 0%, #420101 46%, #0f0101 100%);
  text-align: center;
  color: #fff;
}

.contact-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(255,255,255,.04)'/%3E%3C/svg%3E");
  pointer-events: none;
}

.contact-hero__inner { position: relative; z-index: 1; }

.contact-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  padding: 5px 16px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
  margin-bottom: 22px;
}

.contact-hero__h1 {
  font-size: clamp(2rem, 4.5vw, 3.6rem);
  font-weight: 520;
  letter-spacing: -.04em;
  line-height: 1.08;
  color: #fff;
  margin: 0 auto 18px;
  max-width: 720px;
}

.contact-hero__sub {
  font-size: 1.05rem;
  color: rgba(255,255,255,.75);
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.65;
}

/* ── Stats strip ───────────────────────────────────────── */
.contact-stats {
  background: #fff;
  border-bottom: 1px solid #f0e4e4;
}

.contact-stats__inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.contact-stat {
  padding: 26px 20px;
  text-align: center;
  border-right: 1px solid #f0e4e4;
}

.contact-stat:last-child { border-right: none; }

.contact-stat__val {
  font-size: 1.9rem;
  font-weight: 749;
  color: #7b0202;
  line-height: 1;
  margin-bottom: 4px;
}

.contact-stat__label {
  font-size: 12.5px;
  font-weight: 620;
  color: #6b3030;
}

/* ── Channels section ──────────────────────────────────── */
.contact-section {
  padding: 72px 0;
}

.contact-section--alt { background: #fff; }

.contact-section__header {
  text-align: center;
  max-width: 560px;
  margin: 0 auto 52px;
}

.contact-section__kicker {
  font-size: 11.5px;
  font-weight: 520;
  text-transform: uppercase;
  letter-spacing: .10em;
  color: #7b0202;
  margin-bottom: 12px;
}

.contact-section__h2 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 520;
  letter-spacing: -.03em;
  color: #1a0505;
  margin: 0 0 12px;
}

.contact-section__sub {
  font-size: .97rem;
  color: #6b3030;
  line-height: 1.65;
  margin: 0;
}

/* ── Channel cards ─────────────────────────────────────── */
.contact-channels-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.contact-channel-card {
  background: #fff;
  border: 1px solid #f0e4e4;
  border-radius: 22px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  transition: border-color .15s, box-shadow .2s, transform .15s;
  position: relative;
  overflow: hidden;
}

.contact-channel-card:hover {
  border-color: rgba(123,2,2,.22);
  box-shadow: 0 14px 40px rgba(123,2,2,.09);
  transform: translateY(-3px);
}

.contact-channel-card--primary {
  background:
    radial-gradient(circle at 10% 8%, rgba(255,255,255,.09), transparent 24rem),
    linear-gradient(145deg, #7b0202 0%, #420202 60%, #140101 100%);
  border-color: transparent;
}

.contact-channel-card--primary:hover {
  border-color: transparent;
  box-shadow: 0 16px 48px rgba(123,2,2,.32);
}

.contact-channel-badge {
  display: inline-block;
  align-self: flex-start;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-bottom: 18px;
  background: #fff1f1;
  color: #7b0202;
}

.contact-channel-card--primary .contact-channel-badge {
  background: rgba(255,255,255,.16);
  color: rgba(255,255,255,.90);
}

.contact-channel-icon {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  background: #fff1f1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #7b0202;
  margin-bottom: 18px;
  flex-shrink: 0;
}

.contact-channel-card--primary .contact-channel-icon {
  background: rgba(255,255,255,.15);
  color: #fff;
}

.contact-channel-title {
  font-size: 18px;
  font-weight: 520;
  color: #1a0505;
  margin: 0 0 10px;
}

.contact-channel-card--primary .contact-channel-title { color: #fff; }

.contact-channel-body {
  font-size: 14px;
  color: #6b3030;
  line-height: 1.65;
  margin: 0 0 26px;
  flex: 1;
}

.contact-channel-card--primary .contact-channel-body { color: rgba(255,255,255,.78); }

.contact-channel-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  align-self: flex-start;
  transition: transform .12s, opacity .12s;
  background: #7b0202;
  color: #fff;
}

.contact-channel-card--primary .contact-channel-cta {
  background: #fff;
  color: #5e0101;
}

.contact-channel-cta:hover { transform: translateY(-1px); opacity: .9; }

/* ── FAQ ───────────────────────────────────────────────── */
.contact-faq-list {
  max-width: 720px;
  margin: 0 auto;
  display: grid;
  gap: 10px;
}

.contact-faq-item {
  background: #fff;
  border: 1px solid #f0e4e4;
  border-radius: 16px;
  overflow: hidden;
}

.contact-faq-q {
  width: 100%;
  text-align: left;
  background: #fff;
  border: none;
  padding: 18px 20px;
  font-size: 15px;
  font-weight: 700;
  color: #1a0505;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  transition: background .12s;
}

.contact-faq-q:hover { background: #fff7f7; }
.contact-faq-q i { color: #7b0202; transition: transform .2s; flex-shrink: 0; }
.contact-faq-q[aria-expanded="true"] i { transform: rotate(180deg); }

.contact-faq-a {
  padding: 0 20px 18px;
  font-size: 14px;
  color: #4d2020;
  line-height: 1.7;
}

/* ── Business enquiry ──────────────────────────────────── */
.contact-biz {
  border: 1px solid #f0e4e4;
  border-radius: 22px;
  padding: 36px 32px;
  background: #faf8f8;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 48px;
}

.contact-biz__text h3 {
  font-size: 17px;
  font-weight: 520;
  color: #1a0505;
  margin: 0 0 8px;
}

.contact-biz__text p {
  font-size: 14px;
  color: #6b3030;
  line-height: 1.65;
  margin: 0;
}

.contact-biz__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  background: #7b0202;
  color: #fff;
  transition: opacity .12s, transform .12s;
  flex-shrink: 0;
}

.contact-biz__cta:hover { opacity: .9; transform: translateY(-1px); }

/* ── Dark mode ─────────────────────────────────────────── */
html.night-mode body.contact-page     { background: #0e0404; }
html.night-mode .contact-stats        { background: #150606; border-color: rgba(255,180,180,.10); }
html.night-mode .contact-stat         { border-color: rgba(255,180,180,.10); }
html.night-mode .contact-stat__label  { color: #8A8F98; }
html.night-mode .contact-section      { background: #0e0404; }
html.night-mode .contact-section--alt { background: #130505; }
html.night-mode .contact-section__h2  { color: #f5ecea; }
html.night-mode .contact-section__sub { color: #8A8F98; }
html.night-mode .contact-channel-card { background: #1c0707; border-color: rgba(255,180,180,.10); }
html.night-mode .contact-channel-card:hover { border-color: rgba(255,122,122,.22); }
html.night-mode .contact-channel-icon { background: rgba(255,122,122,.12); color: #B80000; }
html.night-mode .contact-channel-badge { background: rgba(255,122,122,.12); color: #B80000; }
html.night-mode .contact-channel-title { color: #f5ecea; }
html.night-mode .contact-channel-body  { color: #8A8F98; }
html.night-mode .contact-channel-cta   { background: #B80000; color: #1a0101; }
html.night-mode .contact-faq-item  { background: #1c0707; border-color: rgba(255,180,180,.10); }
html.night-mode .contact-faq-q     { background: #1c0707; color: #f5ecea; }
html.night-mode .contact-faq-q:hover { background: #240a0a; }
html.night-mode .contact-faq-a     { color: #8A8F98; }
html.night-mode .contact-biz       { background: #130505; border-color: rgba(255,180,180,.10); }
html.night-mode .contact-biz__text h3 { color: #f5ecea; }
html.night-mode .contact-biz__text p  { color: #8A8F98; }

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 767px) {
  .contact-stats__inner      { grid-template-columns: repeat(2, 1fr); }
  .contact-stat:nth-child(2) { border-right: none; }
  .contact-channels-grid     { grid-template-columns: 1fr; }
  .contact-biz               { flex-direction: column; }
}

@media (max-width: 479px) {
  .contact-stats__inner { grid-template-columns: 1fr 1fr; }
  .contact-hero         { padding: 64px 0 52px; }
  .contact-section      { padding: 52px 0; }
}


/* ═══════════════════════════════════════════════════════
   PARTNER / REFERRAL PAGES
   ═══════════════════════════════════════════════════════ */

body.partner-page { background: #faf8f8; color: #1a0101; }

/* ── Hero ──────────────────────────────────────────────── */
.partner-hero {
  position: relative;
  overflow: hidden;
  padding: 100px 0 84px;
  background:
    radial-gradient(circle at 80% 12%, rgba(255,255,255,.08), transparent 24rem),
    radial-gradient(circle at 6%  80%, rgba(0,0,0,.22),        transparent 20rem),
    linear-gradient(145deg, #6a0202 0%, #420101 48%, #0f0101 100%);
  text-align: center;
  color: #fff;
}

.partner-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(255,255,255,.04)'/%3E%3C/svg%3E");
  pointer-events: none;
}

.partner-hero__inner { position: relative; z-index: 1; }

.partner-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  padding: 5px 16px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
  margin-bottom: 22px;
}

.partner-hero__h1 {
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 520;
  letter-spacing: -.04em;
  line-height: 1.08;
  color: #fff;
  margin: 0 auto 20px;
  max-width: 780px;
}

.partner-hero__sub {
  font-size: 1.08rem;
  color: rgba(255,255,255,.76);
  max-width: 580px;
  margin: 0 auto 36px;
  line-height: 1.65;
}

.partner-hero__actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

/* ── Shared section wrapper ────────────────────────────── */
.partner-section { padding: 80px 0; }
.partner-section--alt { background: #fff; }

.partner-section__header {
  max-width: 600px;
  margin-bottom: 52px;
}

.partner-section__header--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.partner-kicker {
  font-size: 11.5px;
  font-weight: 520;
  text-transform: uppercase;
  letter-spacing: .10em;
  color: #7b0202;
  margin-bottom: 12px;
}

.partner-h2 {
  font-size: clamp(1.7rem, 3.5vw, 2.4rem);
  font-weight: 520;
  letter-spacing: -.03em;
  color: #1a0101;
  margin: 0 0 14px;
  line-height: 1.1;
}

.partner-sub {
  font-size: 1rem;
  color: #6b3030;
  line-height: 1.65;
  margin: 0;
}

/* ── Commission rate cards ─────────────────────────────── */
.partner-rates-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.partner-rate-card {
  background: #fff;
  border: 1px solid #f0e4e4;
  border-radius: 22px;
  padding: 30px 26px;
  display: flex;
  flex-direction: column;
  transition: border-color .15s, box-shadow .2s, transform .15s;
}

.partner-rate-card:hover {
  border-color: rgba(123,2,2,.22);
  box-shadow: 0 14px 40px rgba(123,2,2,.09);
  transform: translateY(-3px);
}

.partner-rate-card--highlight {
  background:
    radial-gradient(circle at 10% 8%, rgba(255,255,255,.09), transparent 20rem),
    linear-gradient(145deg, #7b0202 0%, #420202 58%, #140101 100%);
  border-color: transparent;
}

.partner-rate-card--highlight:hover {
  border-color: transparent;
  box-shadow: 0 16px 48px rgba(123,2,2,.28);
}

.partner-rate-icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: #fff1f1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #7b0202;
  margin-bottom: 18px;
  flex-shrink: 0;
}

.partner-rate-card--highlight .partner-rate-icon {
  background: rgba(255,255,255,.15);
  color: #fff;
}

.partner-rate-amount {
  font-size: 2.2rem;
  font-weight: 749;
  color: #7b0202;
  line-height: 1;
  margin-bottom: 4px;
}

.partner-rate-card--highlight .partner-rate-amount { color: #fff; }

.partner-rate-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: #6b3030;
  margin-bottom: 14px;
}

.partner-rate-card--highlight .partner-rate-label { color: rgba(255,255,255,.65); }

.partner-rate-title {
  font-size: 16px;
  font-weight: 520;
  color: #1a0101;
  margin: 0 0 10px;
}

.partner-rate-card--highlight .partner-rate-title { color: #fff; }

.partner-rate-body {
  font-size: 13.5px;
  color: #6b3030;
  line-height: 1.65;
  margin: 0;
  flex: 1;
}

.partner-rate-card--highlight .partner-rate-body { color: rgba(255,255,255,.76); }

/* ── How it works steps ────────────────────────────────── */
.partner-steps-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  position: relative;
}

.partner-steps-grid::before {
  content: '';
  position: absolute;
  top: 28px;
  left: calc(16.6% + 14px);
  right: calc(16.6% + 14px);
  height: 2px;
  background: repeating-linear-gradient(90deg, #f0e4e4 0, #f0e4e4 6px, transparent 6px, transparent 14px);
  pointer-events: none;
}

.partner-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.partner-step__num {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.10), transparent),
    linear-gradient(145deg, #7b0202, #420202);
  color: #fff;
  font-size: 18px;
  font-weight: 749;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  box-shadow: 0 8px 22px rgba(123,2,2,.22);
  position: relative;
  z-index: 1;
}

.partner-step__title {
  font-size: 15px;
  font-weight: 520;
  color: #1a0101;
  margin: 0 0 10px;
}

.partner-step__body {
  font-size: 13.5px;
  color: #6b3030;
  line-height: 1.65;
  margin: 0;
}

/* ── Why join grid ─────────────────────────────────────── */
.partner-why-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.partner-why-card {
  background: #fff;
  border: 1px solid #f0e4e4;
  border-radius: 20px;
  padding: 26px 24px;
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 16px;
  align-items: start;
  transition: border-color .15s, box-shadow .15s;
}

.partner-why-card:hover {
  border-color: rgba(123,2,2,.20);
  box-shadow: 0 10px 28px rgba(123,2,2,.07);
}

.partner-why-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #fff1f1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #7b0202;
  flex-shrink: 0;
}

.partner-why-title {
  font-size: 15px;
  font-weight: 520;
  color: #1a0101;
  margin: 0 0 6px;
}

.partner-why-body {
  font-size: 13.5px;
  color: #6b3030;
  line-height: 1.65;
  margin: 0;
}

/* ── Guide / FAQ callout ───────────────────────────────── */
.partner-links-strip {
  margin-top: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

.partner-link-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border: 1px solid #f0e4e4;
  border-radius: 10px;
  background: #faf8f8;
  font-size: 13.5px;
  font-weight: 620;
  color: #4d1c1c;
  text-decoration: none;
  transition: border-color .12s, background .12s;
}

.partner-link-chip:hover {
  border-color: rgba(123,2,2,.22);
  background: #fff1f1;
  color: #7b0202;
}

/* ── CTA band ──────────────────────────────────────────── */
.partner-cta {
  padding: 100px 0;
  text-align: center;
  background:
    radial-gradient(circle at 88% 88%, rgba(255,255,255,.06), transparent 22rem),
    linear-gradient(145deg, #7b0202 0%, #440202 52%, #0d0101 100%);
  color: #fff;
}

.partner-cta__h2 {
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 520;
  letter-spacing: -.04em;
  color: #fff;
  margin: 0 auto 16px;
  max-width: 680px;
  line-height: 1.1;
}

.partner-cta__sub {
  font-size: 1rem;
  color: rgba(255,255,255,.75);
  max-width: 500px;
  margin: 0 auto 36px;
  line-height: 1.65;
}

/* ── Dashboard: referral link input ───────────────────── */
.partner-ref-link-wrap {
  display: flex;
  gap: 0;
  border: 1.5px solid #f0e4e4;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

.partner-ref-link-input {
  flex: 1;
  min-width: 0;
  border: none;
  padding: 12px 16px;
  font-size: 13.5px;
  background: transparent;
  color: #1a0101;
  cursor: pointer;
}

.partner-ref-link-input:focus { outline: none; }

.partner-ref-copy-btn {
  border: none;
  border-left: 1.5px solid #f0e4e4;
  background: #faf8f8;
  padding: 0 18px;
  font-size: 13px;
  font-weight: 700;
  color: #7b0202;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
  transition: background .12s;
}

.partner-ref-copy-btn:hover { background: #fff1f1; }

.partner-copy-msg {
  font-size: 12.5px;
  color: #15803d;
  font-weight: 620;
  min-height: 20px;
  margin-top: 6px;
}

/* ── Dashboard stat cards ──────────────────────────────── */
.partner-dash-stats {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 160px), 1fr));
  gap: 14px;
  margin-bottom: 28px;
}

.partner-dash-stat {
  background: #fff;
  border: 1px solid #f0e4e4;
  border-radius: 16px;
  padding: 18px 16px;
  text-align: center;
}

.partner-dash-stat__val {
  font-size: 1.6rem;
  font-weight: 749;
  color: #7b0202;
  line-height: 1;
  margin-bottom: 6px;
  word-break: break-all;
}

.partner-dash-stat__val--code {
  font-size: 1.1rem;
  font-family: monospace;
  letter-spacing: .06em;
  color: #7b0202;
}

.partner-dash-stat__label {
  font-size: 12px;
  font-weight: 620;
  color: #6b3030;
}

.partner-dash-stat--withdraw .partner-dash-stat__val { color: #15803d; }
.partner-dash-stat--pending  .partner-dash-stat__val { color: #b45309; }

/* ── Dark mode ─────────────────────────────────────────── */
html.night-mode body.partner-page            { background: #0e0404; }
html.night-mode .partner-section             { background: #0e0404; }
html.night-mode .partner-section--alt        { background: #130505; }
html.night-mode .partner-h2                  { color: #f5ecea; }
html.night-mode .partner-sub                 { color: #8A8F98; }
html.night-mode .partner-kicker              { color: #B80000; }
html.night-mode .partner-rate-card           { background: #1c0707; border-color: rgba(255,180,180,.10); }
html.night-mode .partner-rate-title          { color: #f5ecea; }
html.night-mode .partner-rate-body           { color: #8A8F98; }
html.night-mode .partner-rate-label          { color: #8A8F98; }
html.night-mode .partner-step__title         { color: #f5ecea; }
html.night-mode .partner-step__body          { color: #8A8F98; }
html.night-mode .partner-steps-grid::before  { background: repeating-linear-gradient(90deg, rgba(255,180,180,.12) 0, rgba(255,180,180,.12) 6px, transparent 6px, transparent 14px); }
html.night-mode .partner-why-card            { background: #1c0707; border-color: rgba(255,180,180,.10); }
html.night-mode .partner-why-icon            { background: rgba(255,122,122,.12); color: #B80000; }
html.night-mode .partner-why-title           { color: #f5ecea; }
html.night-mode .partner-why-body            { color: #8A8F98; }
html.night-mode .partner-link-chip           { background: #160606; border-color: rgba(255,180,180,.10); color: #d4a0a0; }
html.night-mode .partner-link-chip:hover     { background: rgba(255,122,122,.10); color: #B80000; }
html.night-mode .partner-dash-stats          > .partner-dash-stat { background: #1c0707; border-color: rgba(255,180,180,.10); }
html.night-mode .partner-dash-stat__label    { color: #8A8F98; }
html.night-mode .partner-ref-link-wrap       { background: #1c0707; border-color: rgba(255,180,180,.12); }
html.night-mode .partner-ref-link-input      { color: #f5ecea; }
html.night-mode .partner-ref-copy-btn        { background: #240a0a; border-color: rgba(255,180,180,.12); color: #B80000; }
html.night-mode .partner-ref-copy-btn:hover  { background: rgba(255,122,122,.12); }

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 991px) {
  .partner-rates-grid  { grid-template-columns: 1fr; }
  .partner-steps-grid  { grid-template-columns: 1fr; }
  .partner-steps-grid::before { display: none; }
  .partner-why-grid    { grid-template-columns: 1fr; }
}

@media (max-width: 639px) {
  .partner-hero    { padding: 72px 0 60px; }
  .partner-section { padding: 56px 0; }
  .partner-cta     { padding: 72px 0; }
}


/* ═══════════════════════════════════════════════════════
   PUBLIC PROFILE PAGE  -  /profile/{ReferCode|organisation-slug}
   ═══════════════════════════════════════════════════════ */

body.public-profile-page { background: #faf8f8; color: #1a0101; }

/* ── Hero strip ────────────────────────────────────────── */
.pp-hero {
  height: 180px;
  background:
    radial-gradient(circle at 15% 50%, rgba(255,255,255,.08), transparent 28rem),
    linear-gradient(145deg, #6a0202 0%, #420101 52%, #0f0101 100%);
  position: relative;
  overflow: hidden;
}

.pp-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(255,255,255,.05)'/%3E%3C/svg%3E");
}

/* ── Main layout ───────────────────────────────────────── */
.pp-shell {
  padding-bottom: 80px;
}

.pp-layout {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  margin-top: -72px;
  position: relative;
  z-index: 1;
}

/* ── Profile card (left sidebar) ──────────────────────── */
.pp-card {
  background: #fff;
  border: 1px solid #f0e4e4;
  border-radius: 22px;
  padding: 28px 24px;
  box-shadow: 0 12px 36px rgba(123,2,2,.07);
  position: sticky;
  top: 88px;
}

.pp-avatar-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 18px;
}

.pp-avatar {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid #fff;
  box-shadow: 0 6px 18px rgba(123,2,2,.18);
  background: #7b0202;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  font-weight: 520;
  color: #fff;
  letter-spacing: -.02em;
}

.pp-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pp-name {
  font-size: 1.2rem;
  font-weight: 520;
  color: #1a0101;
  text-align: center;
  margin: 0 0 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
}

.pp-role {
  text-align: center;
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #7b0202;
  margin-bottom: 14px;
}

.pp-about {
  font-size: 13.5px;
  color: #6b3030;
  line-height: 1.65;
  text-align: center;
  margin: 0 0 18px;
}

/* Stats row */
.pp-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 18px;
  padding: 14px 0;
  border-top: 1px solid #f0e4e4;
  border-bottom: 1px solid #f0e4e4;
}

.pp-stat {
  text-align: center;
}

.pp-stat__val {
  font-size: 1.4rem;
  font-weight: 749;
  color: #7b0202;
  line-height: 1;
  margin-bottom: 3px;
}

.pp-stat__label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #6b3030;
}

/* Social links */
.pp-social {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-bottom: 18px;
}

.pp-social a {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff1f1;
  color: #7b0202;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  text-decoration: none;
  transition: background .12s, color .12s, transform .12s;
}

.pp-social a:hover { background: #7b0202; color: #fff; transform: translateY(-2px); }

/* Contact button */
.pp-contact-btn {
  width: 100%;
  padding: 12px;
  border-radius: 12px;
  background: #7b0202;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: opacity .12s, transform .12s;
  margin-bottom: 10px;
}

.pp-contact-btn:hover { opacity: .9; transform: translateY(-1px); }
.pp-contact-btn.pp-contact-btn--ghost {
  background: #fff1f1;
  color: #7b0202;
  border: 1px solid rgba(123,2,2,.18);
}

.pp-share-btn {
  margin-bottom: 10px;
  background: #fff;
  color: #7b0202;
  border: 1px solid rgba(123,2,2,.18);
}

.pp-share-feedback {
  min-height: 18px;
  margin: -2px 0 10px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
}

.pp-share-feedback--ok { color: #15803d; }
.pp-share-feedback--err { color: #b91c1c; }

/* Login prompt inside card */
.pp-login-prompt {
  background: #fff8f0;
  border: 1px solid #f5d8b0;
  border-radius: 12px;
  padding: 14px;
  font-size: 13px;
  color: #5c3406;
  text-align: center;
  line-height: 1.55;
  margin-top: 10px;
}

.pp-login-prompt a,
.pp-login-prompt__link {
  appearance: none;
  background: transparent;
  border: 0;
  color: #7b0202;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  padding: 0;
  text-decoration: none;
}
.pp-login-prompt a:hover,
.pp-login-prompt__link:hover { text-decoration: underline; }

/* ── Right column ──────────────────────────────────────── */
.pp-main { padding-top: 80px; }

.pp-main__heading {
  font-size: 1.1rem;
  font-weight: 520;
  color: #1a0101;
  margin: 0 0 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.pp-main__heading span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  background: #fff1f1;
  color: #7b0202;
  font-size: 11px;
  font-weight: 520;
}

/* ── Event cards ───────────────────────────────────────── */
.pp-events-grid {
  display: grid;
  gap: 16px;
}

.pp-event-card {
  background: #fff;
  border: 1px solid #f0e4e4;
  border-radius: 18px;
  padding: 18px;
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
  transition: border-color .15s, box-shadow .15s;
}

.pp-event-card:hover {
  border-color: rgba(123,2,2,.20);
  box-shadow: 0 8px 24px rgba(123,2,2,.08);
}

.pp-event-thumb {
  width: 100px;
  height: 80px;
  border-radius: 12px;
  overflow: hidden;
  background: #f0e4e4;
  flex-shrink: 0;
}

.pp-event-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pp-event-title {
  font-size: 15px;
  font-weight: 520;
  color: #1a0101;
  margin: 0 0 6px;
  text-decoration: none;
  display: block;
}

.pp-event-title:hover { color: #7b0202; }

.pp-event-meta {
  font-size: 13px;
  color: #6b3030;
  margin: 0 0 4px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.pp-event-meta i { color: #7b0202; font-size: 12px; }

.pp-event-cta {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 16px;
  border-radius: 10px;
  background: #fff1f1;
  color: #7b0202;
  border: 1px solid rgba(123,2,2,.16);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: background .12s;
  align-self: center;
}

.pp-event-cta:hover { background: #7b0202; color: #fff; border-color: #7b0202; }

/* ── Contact modal feedback ────────────────────────────── */
.pp-modal-feedback {
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 13.5px;
  font-weight: 620;
  display: none;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

.pp-modal-feedback--ok  { display: flex; background: rgba(21,128,61,.10); color: #15803d; border: 1px solid rgba(21,128,61,.2); }
.pp-modal-feedback--err { display: flex; background: rgba(185,28,28,.08); color: #b91c1c; border: 1px solid rgba(185,28,28,.18); }

/* ── Session flash (on page load) ─────────────────────── */
.pp-contact-modal {
  border: 0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(26, 1, 1, 0.22);
}

.pp-contact-modal__header {
  align-items: flex-start;
  gap: 14px;
  padding: 20px 22px 16px;
  border-bottom: 1px solid #f0e2e2;
  background: #fffafa;
}

.pp-contact-modal__header .modal-title {
  color: #1a0101;
  font-size: 18px;
  font-weight: 448;
  line-height: 1.25;
}

.pp-contact-modal__body {
  padding: 18px 22px 8px;
}

.pp-contact-modal__recipient {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  padding: 12px;
  border: 1px solid #f0e2e2;
  border-radius: 8px;
  background: #fff;
}

.pp-contact-modal__recipient span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #7b0202;
  color: #fff;
  font-weight: 448;
}

.pp-contact-modal__recipient strong {
  color: #1a0101;
  font-size: 15px;
}

.pp-contact-field {
  margin-bottom: 14px;
}

.pp-contact-field .form-label {
  color: #381010;
  font-size: 13px;
  margin-bottom: 7px;
}

.pp-contact-input.form-control,
.pp-contact-textarea.form-control {
  border: 1px solid #e5d6d6;
  border-radius: 8px;
  background: #fbf7f7;
  color: #1a0101;
  box-shadow: none;
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.pp-contact-input.form-control {
  min-height: 46px;
  padding: 10px 13px;
}

.pp-contact-textarea.form-control {
  min-height: 150px;
  padding: 12px 13px;
  line-height: 1.55;
  resize: vertical;
}

.pp-contact-input.form-control:focus,
.pp-contact-textarea.form-control:focus {
  background: #fff;
  border-color: #7b0202;
  box-shadow: 0 0 0 3px rgba(123, 2, 2, .12);
}

.pp-contact-modal__footer {
  gap: 10px;
  padding: 14px 22px 20px;
  border-top: 0;
}

.pp-flash {
  border-radius: 12px;
  padding: 12px 16px;
  margin-bottom: 18px;
  font-size: 13.5px;
  font-weight: 620;
  display: flex;
  align-items: center;
  gap: 8px;
}

.pp-flash--ok  { background: rgba(21,128,61,.10);  color: #15803d; border: 1px solid rgba(21,128,61,.2); }
.pp-flash--err { background: rgba(185,28,28,.08);  color: #b91c1c; border: 1px solid rgba(185,28,28,.18); }

/* ── Dark mode ─────────────────────────────────────────── */
html.night-mode body.public-profile-page   { background: #0e0404; }
html.night-mode .pp-card                   { background: #1c0707; border-color: rgba(255,180,180,.10); box-shadow: 0 16px 44px rgba(0,0,0,.28); }
html.night-mode .pp-name                   { color: #f5ecea; }
html.night-mode .pp-about                  { color: #8A8F98; }
html.night-mode .pp-role                   { color: #B80000; }
html.night-mode .pp-stat__val              { color: #B80000; }
html.night-mode .pp-stat__label            { color: #8A8F98; }
html.night-mode .pp-stats                  { border-color: rgba(255,180,180,.10); }
html.night-mode .pp-social a               { background: rgba(255,122,122,.12); color: #B80000; }
html.night-mode .pp-social a:hover         { background: #B80000; color: #1a0101; }
html.night-mode .pp-contact-btn            { background: #B80000; color: #1a0101; }
html.night-mode .pp-contact-btn--ghost     { background: rgba(255,122,122,.12); color: #B80000; border-color: rgba(255,122,122,.22); }
html.night-mode .pp-share-btn              { background: rgba(255,122,122,.12); color: #B80000; border-color: rgba(255,122,122,.22); }
html.night-mode .pp-share-feedback--ok     { color: #86efac; }
html.night-mode .pp-share-feedback--err    { color: #fca5a5; }
html.night-mode .pp-event-card             { background: #1c0707; border-color: rgba(255,180,180,.10); }
html.night-mode .pp-event-title            { color: #f5ecea; }
html.night-mode .pp-event-meta             { color: #8A8F98; }
html.night-mode .pp-main__heading          { color: #f5ecea; }
html.night-mode .pp-main__heading span     { background: rgba(255,122,122,.12); color: #B80000; }
html.night-mode .pp-event-cta             { background: rgba(255,122,122,.12); color: #B80000; border-color: rgba(255,122,122,.20); }
html.night-mode .pp-event-cta:hover        { background: #B80000; color: #1a0101; }

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 991px) {
  .pp-layout { grid-template-columns: 1fr; margin-top: -48px; }
  .pp-card   { position: static; }
  .pp-main   { padding-top: 0; }
  .pp-hero   { height: 140px; }
}

@media (max-width: 575px) {
  .pp-event-card { grid-template-columns: 72px minmax(0, 1fr); }
  .pp-event-cta  { display: none; }
  .pp-event-thumb { width: 72px; height: 60px; }
}


/* ═══════════════════════════════════════════════════════
   LANDING PAGES - shared components
   (best-place-to-post-events, ticketing-and-scanning,
    payment-and-payout, event-report)
   ═══════════════════════════════════════════════════════ */

/* ── Stats strip (reuse + extend) ────────────────────────── */
.lp-stats {
  background: #fff;
  border-bottom: 1px solid #f0e4e4;
}

.lp-stats__inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lp-stat {
  padding: 26px 18px;
  text-align: center;
  border-right: 1px solid #f0e4e4;
}

.lp-stat:last-child { border-right: none; }

.lp-stat__val {
  font-size: 1.9rem;
  font-weight: 749;
  color: #7b0202;
  line-height: 1;
  margin-bottom: 5px;
}

.lp-stat__label {
  font-size: 12.5px;
  font-weight: 620;
  color: #6b3030;
}

/* ── Event type grid (best-place page) ──────────────────── */
.lp-types-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.lp-type-card {
  background: #fff;
  border: 1px solid #f0e4e4;
  border-radius: 18px;
  padding: 24px 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  transition: border-color .15s, box-shadow .15s, transform .12s;
}

.lp-type-card:hover {
  border-color: rgba(123,2,2,.22);
  box-shadow: 0 8px 24px rgba(123,2,2,.08);
  transform: translateY(-2px);
}

.lp-type-icon {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: #fff1f1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #7b0202;
  flex-shrink: 0;
}

.lp-type-title {
  font-size: 14px;
  font-weight: 700;
  color: #1a0101;
  margin: 0;
}

/* ── How it works - numbered steps (payment page) ─────── */
.lp-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  position: relative;
}

.lp-steps::before {
  content: '';
  position: absolute;
  top: 28px;
  left: calc(16.7% + 14px);
  right: calc(16.7% + 14px);
  height: 2px;
  background: repeating-linear-gradient(90deg,
    #f0e4e4 0, #f0e4e4 6px, transparent 6px, transparent 14px);
  pointer-events: none;
}

.lp-step { text-align: center; }

.lp-step__num {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(145deg, #7b0202, #420202);
  color: #fff;
  font-size: 18px;
  font-weight: 749;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
  box-shadow: 0 8px 22px rgba(123,2,2,.22);
  position: relative;
  z-index: 1;
}

.lp-step__title {
  font-size: 15px;
  font-weight: 520;
  color: #1a0101;
  margin: 0 0 8px;
}

.lp-step__body {
  font-size: 13.5px;
  color: #6b3030;
  line-height: 1.65;
  margin: 0;
}

/* ── Feature grid (6-up) ──────────────────────────────── */
.lp-feat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  gap: 18px;
}

.lp-feat-card {
  background: #fff;
  border: 1px solid #f0e4e4;
  border-radius: 20px;
  padding: 24px 22px;
  transition: border-color .15s, box-shadow .18s, transform .12s;
}

.lp-feat-card:hover {
  border-color: rgba(123,2,2,.20);
  box-shadow: 0 10px 30px rgba(123,2,2,.08);
  transform: translateY(-3px);
}

.lp-feat-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: #fff1f1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #7b0202;
  margin-bottom: 16px;
}

.lp-feat-title {
  font-size: 15px;
  font-weight: 520;
  color: #1a0101;
  margin: 0 0 8px;
}

.lp-feat-body {
  font-size: 13.5px;
  color: #6b3030;
  line-height: 1.65;
  margin: 0;
}

/* ── Trust/insight cards (payment + report pages) ─────── */
.lp-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.lp-trust-card {
  background: #faf8f8;
  border: 1px solid #f0e4e4;
  border-radius: 18px;
  padding: 24px 22px;
}

.lp-trust-card__num {
  font-size: 2rem;
  font-weight: 749;
  color: #7b0202;
  line-height: 1;
  margin-bottom: 10px;
}

.lp-trust-card__title {
  font-size: 15px;
  font-weight: 520;
  color: #1a0101;
  margin: 0 0 8px;
}

.lp-trust-card__body {
  font-size: 13.5px;
  color: #6b3030;
  line-height: 1.65;
  margin: 0;
}

/* ── Scanner spotlight (dark band) ────────────────────── */
.lp-dark-band {
  background:
    radial-gradient(circle at 8% 8%, rgba(255,255,255,.07), transparent 26rem),
    linear-gradient(145deg, #7b0202 0%, #3d0101 54%, #100101 100%);
  padding: 80px 0;
  color: #fff;
}

.lp-dark-band .feat-section__kicker { color: rgba(255,255,255,.60); }
.lp-dark-band .feat-section__h2     { color: #fff; }
.lp-dark-band .feat-section__sub    { color: rgba(255,255,255,.78); }

.lp-dark-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.lp-dark-card {
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  padding: 22px 20px;
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  align-items: start;
}

.lp-dark-card__icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(255,255,255,.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: rgba(255,255,255,.90);
}

.lp-dark-card__title {
  font-size: 14.5px;
  font-weight: 520;
  color: #fff;
  margin: 0 0 6px;
}

.lp-dark-card__body {
  font-size: 13px;
  color: rgba(255,255,255,.78);
  line-height: 1.65;
  margin: 0;
}

.lp-dark-card--compact {
  grid-template-columns: auto 1fr;
}

.lp-dark-card__icon--num {
  font-size: 14px;
  font-weight: 749;
  color: #fff;
}

.lp-payment-trust-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%,280px), 1fr));
  gap: 20px;
}

.lp-payment-section__center {
  max-width: 600px;
  margin-bottom: 48px;
}

.lp-frame-band {
  text-align: center;
}

.lp-frame-grid {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 32px;
}

.lp-frame-card {
  text-align: center;
}

.lp-frame-card__media {
  position: relative;
  width: 80px;
  height: 80px;
  margin: 0 auto 8px;
}

.lp-frame-card__photo {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: rgba(255,255,255,.60);
}

.lp-frame-card__overlay {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 4px solid rgba(255,255,255,.80);
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 2px;
}

.lp-frame-card__badge {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  color: #fff;
  border: 2px solid #fff;
}

.lp-frame-tone--1 { background: #7b0202; }
.lp-frame-tone--2 { background: #820000; }
.lp-frame-tone--3 { background: #6a0202; }

.lp-frame-card__label {
  font-size: 11px;
  font-weight: 700;
  color: rgba(255,255,255,.65);
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .07em;
}

.lp-frame-band__copy {
  font-size: 15px;
  color: rgba(255,255,255,.80);
  max-width: 520px;
  margin: 0 auto;
  line-height: 1.65;
}

.lp-type-card--stacked {
  flex-direction: column;
  align-items: flex-start;
  padding: 24px;
  gap: 10px;
}

.lp-type-title--tight {
  margin-bottom: 6px;
}

.lp-type-body {
  font-size: 13.5px;
  color: var(--abt-body, #6b3030);
  line-height: 1.65;
  margin: 0;
}

.lp-report-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.lp-report-copy {
  margin-bottom: 28px;
}

.lp-report-cards {
  display: grid;
  gap: 14px;
}

.lp-report-card {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.lp-report-card__icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #fff1f1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: #7b0202;
  flex-shrink: 0;
}

.lp-report-card__title {
  font-size: 14px;
  font-weight: 700;
  color: var(--ads-text);
  margin: 0 0 3px;
}

.lp-report-card__body {
  font-size: 13px;
  color: var(--ads-muted);
  margin: 0;
  line-height: 1.6;
}

.lp-dash-bar-wrap--spaced {
  margin-top: 6px;
}

.lp-report-section__center {
  max-width: 600px;
  margin-bottom: 48px;
}

/* ── Dashboard mockup (report page) ──────────────────── */
.lp-dash-art {
  background:
    radial-gradient(circle at 10% 10%, rgba(255,255,255,.10), transparent 24rem),
    linear-gradient(145deg, #7b0202 0%, #420202 58%, #140101 100%);
  border-radius: 24px;
  padding: 32px;
  display: grid;
  gap: 14px;
  box-shadow: 0 24px 60px rgba(123,2,2,.22);
}

.lp-dash-row {
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.lp-dash-row__label {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: rgba(255,255,255,.60);
}

.lp-dash-row__val {
  font-size: 1.3rem;
  font-weight: 749;
  color: #fff;
}

.lp-dash-bar-wrap {
  background: rgba(255,255,255,.08);
  border-radius: 999px;
  height: 6px;
  flex: 1;
  overflow: hidden;
}

.lp-dash-bar {
  height: 100%;
  background: rgba(255,255,255,.70);
  border-radius: 999px;
}

/* ── FAQ ──────────────────────────────────────────────── */
.lp-faq-list {
  max-width: 740px;
  margin: 0 auto;
  display: grid;
  gap: 10px;
}

.lp-faq-item {
  background: #fff;
  border: 1px solid #f0e4e4;
  border-radius: 16px;
  overflow: hidden;
}

.lp-faq-q {
  width: 100%;
  text-align: left;
  background: #fff;
  border: none;
  padding: 18px 20px;
  font-size: 15px;
  font-weight: 700;
  color: #1a0101;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  transition: background .12s;
}

.lp-faq-q:hover { background: #fff7f7; }
.lp-faq-q i { color: #7b0202; transition: transform .2s; flex-shrink: 0; }
.lp-faq-q[aria-expanded="true"] i { transform: rotate(180deg); }

.lp-faq-a {
  padding: 0 20px 18px;
  font-size: 14px;
  color: #4d2020;
  line-height: 1.7;
}

/* ── Dark mode ──────────────────────────────────────────── */
html.night-mode .lp-stats         { background: #130505; border-color: rgba(255,180,180,.10); }
html.night-mode .lp-stat          { border-color: rgba(255,180,180,.10); }
html.night-mode .lp-stat__label   { color: #8A8F98; }
html.night-mode .lp-type-card     { background: #1c0707; border-color: rgba(255,180,180,.10); }
html.night-mode .lp-type-icon     { background: rgba(255,122,122,.12); color: #B80000; }
html.night-mode .lp-type-title    { color: #f5ecea; }
html.night-mode .lp-feat-card     { background: #1c0707; border-color: rgba(255,180,180,.10); }
html.night-mode .lp-feat-icon     { background: rgba(255,122,122,.12); color: #B80000; }
html.night-mode .lp-feat-title    { color: #f5ecea; }
html.night-mode .lp-feat-body     { color: #8A8F98; }
html.night-mode .lp-trust-card    { background: #1c0707; border-color: rgba(255,180,180,.10); }
html.night-mode .lp-trust-card__title { color: #f5ecea; }
html.night-mode .lp-trust-card__body  { color: #8A8F98; }
html.night-mode .lp-step__title   { color: #f5ecea; }
html.night-mode .lp-step__body    { color: #8A8F98; }
html.night-mode .lp-faq-item      { background: #1c0707; border-color: rgba(255,180,180,.10); }
html.night-mode .lp-faq-q         { background: #1c0707; color: #f5ecea; }
html.night-mode .lp-faq-q:hover   { background: #240a0a; }
html.night-mode .lp-faq-a         { color: #8A8F98; }
html.night-mode .lp-steps::before { background: repeating-linear-gradient(90deg, rgba(255,180,180,.12) 0, rgba(255,180,180,.12) 6px, transparent 6px, transparent 14px); }

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 991px) {
  .lp-stats__inner   { grid-template-columns: repeat(2, 1fr); }
  .lp-stat:nth-child(2) { border-right: none; }
  .lp-types-grid     { grid-template-columns: repeat(2, 1fr); }
  .lp-steps          { grid-template-columns: 1fr; }
  .lp-steps::before  { display: none; }
  .lp-trust-grid     { grid-template-columns: 1fr; }
  .lp-dark-grid      { grid-template-columns: 1fr; }
}

@media (max-width: 639px) {
  .lp-stats__inner   { grid-template-columns: 1fr 1fr; }
  .lp-types-grid     { grid-template-columns: 1fr; }
  .lp-feat-grid      { grid-template-columns: 1fr; }
}


/* ═══════════════════════════════════════════════════════
   POST / CREATE EVENT PAGE
   ═══════════════════════════════════════════════════════ */

body.create-event-page { background: #faf8f8; }

.create-hero {
  position: relative;
  overflow: hidden;
  padding: 80px 0 64px;
  background:
    radial-gradient(circle at 80% 10%, rgba(255,255,255,.08), transparent 22rem),
    linear-gradient(145deg, #6a0202 0%, #420101 48%, #0f0101 100%);
  text-align: center;
  color: #fff;
}

.create-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(255,255,255,.04)'/%3E%3C/svg%3E");
}

.create-hero__inner { position: relative; z-index: 1; }

.create-hero__kicker {
  display: inline-block;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  padding: 4px 14px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(255,255,255,.68);
  margin-bottom: 18px;
}

.create-hero__h1 {
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 520;
  letter-spacing: -.04em;
  color: #fff;
  margin: 0 0 12px;
}

.create-hero__sub {
  font-size: 1rem;
  color: rgba(255,255,255,.74);
  margin: 0;
}

/* ── Options section ────────────────────────────────── */
.create-options {
  padding: 60px 0 72px;
}

.create-options-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  max-width: 760px;
  margin: 0 auto;
}

.create-option-card {
  background: #fff;
  border: 1.5px solid #f0e4e4;
  border-radius: 24px;
  padding: 36px 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  transition: border-color .15s, box-shadow .2s, transform .15s;
  cursor: pointer;
}

.create-option-card:hover {
  border-color: rgba(123,2,2,.28);
  box-shadow: 0 16px 44px rgba(123,2,2,.12);
  transform: translateY(-4px);
  text-decoration: none;
}

.create-option-icon {
  width: 72px;
  height: 72px;
  border-radius: 22px;
  background: linear-gradient(145deg, #7b0202, #420202);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #fff;
  margin-bottom: 22px;
  box-shadow: 0 8px 22px rgba(123,2,2,.22);
}

.create-option-title {
  font-size: 18px;
  font-weight: 520;
  color: #1a0101;
  margin: 0 0 10px;
}

.create-option-desc {
  font-size: 13.5px;
  color: #6b3030;
  line-height: 1.65;
  margin: 0 0 28px;
  flex: 1;
}

.create-option-cta {
  width: 100%;
  padding: 13px;
  border-radius: 12px;
  background: #7b0202;
  color: #fff;
  font-size: 14px;
  font-weight: 520;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
  transition: opacity .12s, transform .12s;
}

.create-option-cta:hover { opacity: .9; transform: translateY(-1px); color: #fff; }

/* ── Why section ────────────────────────────────────── */
.create-why {
  padding: 0 0 72px;
}

.create-why__inner {
  max-width: 760px;
  margin: 0 auto;
  background: #fff1f1;
  border: 1px solid rgba(123,2,2,.12);
  border-radius: 20px;
  padding: 28px 32px;
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}

.create-why__kicker {
  font-size: 11px;
  font-weight: 520;
  text-transform: uppercase;
  letter-spacing: .10em;
  color: #7b0202;
  margin-bottom: 14px;
  white-space: nowrap;
}

.create-why__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 24px;
  flex: 1;
}

.create-why__list li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 620;
  color: #1a0101;
}

.create-why__list li::before {
  content: '';
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #7b0202 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath fill='%23fff' d='M14.7 5.3a1 1 0 010 1.4l-7 7a1 1 0 01-1.4 0l-3-3a1 1 0 011.4-1.4L7 11.59l6.3-6.3a1 1 0 011.4 0z'/%3E%3C/svg%3E") center/11px no-repeat;
  flex-shrink: 0;
}

/* ── Dark mode ──────────────────────────────────────── */
html.night-mode body.create-event-page     { background: #0e0404; }
html.night-mode .create-options            { background: #0e0404; }
html.night-mode .create-option-card        { background: #1c0707; border-color: rgba(255,180,180,.12); }
html.night-mode .create-option-title       { color: #f5ecea; }
html.night-mode .create-option-desc        { color: #8A8F98; }
html.night-mode .create-why                { background: #0e0404; }
html.night-mode .create-why__inner         { background: rgba(123,2,2,.14); border-color: rgba(255,122,122,.22); }
html.night-mode .create-why__list li       { color: #f5ecea; }

@media (max-width: 639px) {
  .create-options-grid    { grid-template-columns: 1fr; }
  .create-why__list       { grid-template-columns: 1fr; }
  .create-why__inner      { flex-direction: column; gap: 16px; }
}

/* ═══════════════════════════════════════════════════════
   APP DOWNLOAD PAGES  (scanner, main app, your-device)
   ═══════════════════════════════════════════════════════ */

body.app-dl-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  background:
    radial-gradient(circle at 14% 10%, rgba(255,255,255,.08), transparent 24rem),
    linear-gradient(145deg, #6a0202 0%, #3d0101 52%, #0d0101 100%);
  font-family: "DejaVu Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.app-dl-card {
  background: rgba(255,255,255,.97);
  border-radius: 28px;
  padding: 44px 36px 36px;
  width: 100%;
  max-width: 420px;
  text-align: center;
  box-shadow: 0 32px 80px rgba(0,0,0,.35), 0 2px 0 rgba(255,255,255,.08) inset;
  margin: 24px 16px;
}

/* App icon placeholder */
.app-dl-icon {
  width: 88px;
  height: 88px;
  border-radius: 22px;
  background: linear-gradient(145deg, #7b0202, #420202);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 38px;
  color: #fff;
  margin: 0 auto 20px;
  box-shadow: 0 10px 28px rgba(123,2,2,.30);
}

.app-dl-badge {
  display: inline-block;
  background: rgba(21,128,61,.10);
  color: #166534;
  border: 1px solid rgba(21,128,61,.20);
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.app-dl-h1 {
  font-size: 1.6rem;
  font-weight: 520;
  color: #1a0101;
  letter-spacing: -.03em;
  margin: 0 0 10px;
  line-height: 1.15;
}

.app-dl-sub {
  font-size: 14px;
  color: #6b3030;
  line-height: 1.6;
  margin: 0 0 24px;
}

/* Feature pills */
.app-dl-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 0 0 28px;
}

.app-dl-feat {
  background: #faf8f8;
  border: 1px solid #f0e4e4;
  border-radius: 10px;
  padding: 9px 10px;
  font-size: 12.5px;
  font-weight: 620;
  color: #1a0101;
  display: flex;
  align-items: center;
  gap: 7px;
  text-align: left;
}

.app-dl-feat i { color: #7b0202; font-size: 12px; flex-shrink: 0; }

/* Store buttons */
.app-dl-stores {
  display: grid;
  gap: 12px;
  margin-bottom: 20px;
}

.app-dl-store-btn {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 20px;
  border-radius: 14px;
  text-decoration: none;
  transition: transform .12s, box-shadow .12s;
  background: #1a0101;
  color: #fff;
}

.app-dl-store-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.22); color: #fff; text-decoration: none; }

.app-dl-store-btn--gplay { background: #0d7e3f; }
.app-dl-store-btn--ios   { background: #1a1a1a; }

.app-dl-store-icon {
  font-size: 20px;
  flex-shrink: 0;
}

.app-dl-store-text { text-align: left; }
.app-dl-store-label { font-size: 10px; display: block; }
.app-dl-store-name  { font-size: 16px; font-weight: 520; display: block; letter-spacing: -.02em; }

/* Footer links */
.app-dl-links {
  display: flex;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
  padding-top: 20px;
  border-top: 1px solid #f0e4e4;
  margin-top: 4px;
}

.app-dl-links a {
  font-size: 12.5px;
  font-weight: 620;
  color: #7b0202;
  text-decoration: none;
}

.app-dl-links a:hover { text-decoration: underline; }

/* Dark mode for app pages (body background is already dark) */
html.night-mode .app-dl-card {
  background: rgba(28,7,7,.96);
  box-shadow: 0 32px 80px rgba(0,0,0,.60);
}

html.night-mode .app-dl-h1 { color: #f5ecea; }
html.night-mode .app-dl-sub { color: #8A8F98; }
html.night-mode .app-dl-feat { background: #240a0a; border-color: rgba(255,180,180,.12); color: #f5ecea; }
html.night-mode .app-dl-badge { background: rgba(21,128,61,.15); color: #4ade80; }
html.night-mode .app-dl-links { border-color: rgba(255,180,180,.12); }
html.night-mode .app-dl-links a { color: #B80000; }

@media (max-width: 460px) {
  .app-dl-card      { padding: 36px 22px 28px; border-radius: 22px; }
  .app-dl-features  { grid-template-columns: 1fr; }
}


/* ═══════════════════════════════════════════════════════
   AUTH PAGES - sign-in, register, forgot password, etc.
   ═══════════════════════════════════════════════════════ */

/* ── Page shell ───────────────────────────────────────── */
.auth-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* ── Split layout (login / register / forgot) ─────────── */
.auth-split {
  display: grid;
  grid-template-columns: 420px minmax(0, 1fr);
  min-height: 100vh;
}

/* ── Brand panel ──────────────────────────────────────── */
.auth-brand {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 48px 44px;
  background:
    radial-gradient(circle at 12% 8%, rgba(255,255,255,.09), transparent 24rem),
    radial-gradient(circle at 80% 80%, rgba(0,0,0,.22), transparent 20rem),
    linear-gradient(155deg, #7b0202 0%, #480101 52%, #0d0101 100%);
  overflow: hidden;
}

.auth-brand::after {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(255,255,255,.04)'/%3E%3C/svg%3E");
  pointer-events: none;
}

.auth-brand__logo {
  position: relative;
  z-index: 1;
}

.auth-brand__logo img {
  height: 38px;
  width: auto;
}

.auth-brand__body {
  position: relative;
  z-index: 1;
}

.auth-brand__headline {
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 520;
  letter-spacing: -.04em;
  line-height: 1.12;
  color: #fff;
  margin: 0 0 16px;
}

.auth-brand__sub {
  font-size: .95rem;
  color: rgba(255,255,255,.70);
  line-height: 1.6;
  margin: 0 0 28px;
}

.auth-brand__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.auth-brand__pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  padding: 5px 13px;
  font-size: 12px;
  font-weight: 620;
  color: rgba(255,255,255,.80);
}

.auth-brand__pill i { font-size: 11px; color: rgba(255,255,255,.60); }

.auth-brand__footer {
  position: relative;
  z-index: 1;
  font-size: 12px;
  color: rgba(255,255,255,.40);
}

/* ── Form panel ───────────────────────────────────────── */
.auth-form-panel {
  background: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 48px 40px;
  overflow-y: auto;
}

.auth-form-inner {
  width: 100%;
  max-width: 440px;
  margin: 0 auto;
}

.auth-top-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 36px;
}

.auth-top-bar__logo img {
  height: 34px;
  width: auto;
  display: block;
}

.auth-top-bar__link {
  font-size: 13.5px;
  font-weight: 620;
  color: #6b3030;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: color .12s;
}

.auth-top-bar__link:hover { color: #7b0202; }

.standalone-lang-switcher {
    position: fixed;
    top: 18px;
    right: 18px;
    z-index: 60;
}

.standalone-lang-switcher .lang-switcher-trigger {
    box-shadow: 0 10px 24px rgba(22, 10, 12, 0.16);
}

@media (max-width: 575.98px) {
    .standalone-lang-switcher {
        top: 12px;
        right: 12px;
    }
}

/* ── Form heading ─────────────────────────────────────── */
.auth-heading {
  font-size: 1.7rem;
  font-weight: 520;
  letter-spacing: -.03em;
  color: #1a0101;
  margin: 0 0 6px;
}

.auth-subheading {
  font-size: 14px;
  color: #6b3030;
  margin: 0 0 28px;
  line-height: 1.5;
}

/* ── Flash / alert strip ──────────────────────────────── */
.auth-alert {
  border-radius: 10px;
  padding: 11px 14px;
  margin-bottom: 20px;
  font-size: 13.5px;
  font-weight: 620;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.auth-alert--err  { background: rgba(185,28,28,.08); color: #b91c1c; border: 1px solid rgba(185,28,28,.18); }
.auth-alert--ok   { background: rgba(21,128,61,.10);  color: #15803d; border: 1px solid rgba(21,128,61,.2); }
.auth-alert--warn { background: rgba(180,83,9,.10);   color: #b45309; border: 1px solid rgba(180,83,9,.2); }

/* ── Form elements ────────────────────────────────────── */
.auth-form-group {
  margin-bottom: 16px;
}

.auth-label {
  display: block;
  font-size: 13.5px;
  font-weight: 700;
  color: #1a0101;
  margin-bottom: 6px;
}

.auth-input-wrap { position: relative; }

.auth-input {
  width: 100%;
  height: 50px;
  padding: 0 16px;
  border: 1.5px solid #f0e4e4;
  border-radius: 12px;
  font-size: 14.5px;
  background: #fff;
  color: #1a0101;
  transition: border-color .15s, box-shadow .15s;
  outline: none;
}

.auth-input:focus {
  border-color: #7b0202;
  box-shadow: 0 0 0 3px rgba(123,2,2,.10);
}

.auth-input.auth-input--error { border-color: #b91c1c; }
.form-control.auth-input--error {
  border-color: #b91c1c;
}

.auth-input-wrap .auth-eye {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: none;
  color: #9b7070;
  cursor: pointer;
  padding: 0;
  font-size: 14px;
  transition: color .12s;
}

.auth-input-wrap .auth-eye:hover { color: #7b0202; }

.auth-input-error {
  font-size: 12.5px;
  color: #b91c1c;
  margin-top: 5px;
  font-weight: 620;
  display: flex;
  align-items: center;
  gap: 5px;
}

.register-field-error.error {
  width: 100%;
  margin-top: 7px;
  border: 0;
  background: transparent;
  padding: 0;
}

.auth-google-signin {
  display: flex;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  margin-top: 4px;
}

.auth-google-signin .g_id_signin {
  width: 100%;
  max-width: 100%;
}

/* Label row (label + forgot link side by side) */
.auth-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}

.auth-label-row .auth-label { margin: 0; }

.auth-forgot {
  font-size: 12.5px;
  font-weight: 620;
  color: #7b0202;
  text-decoration: none;
}

.auth-forgot:hover { text-decoration: underline; }

/* ── Submit button ────────────────────────────────────── */
.auth-submit {
  width: 100%;
  height: 52px;
  background: #7b0202;
  color: #fff;
  font-size: 15px;
  font-weight: 520;
  border: none;
  border-radius: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 22px;
  transition: opacity .12s, transform .12s, box-shadow .15s;
  box-shadow: 0 6px 18px rgba(123,2,2,.24);
}

.auth-submit:hover { opacity: .92; transform: translateY(-1px); }
.auth-submit:active { transform: translateY(0); }

.ticket-transfer-accept-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 8% 12%, rgba(123, 2, 2, .12), transparent 24rem),
    linear-gradient(135deg, #fff8f8 0%, #ffffff 48%, #f5f7fb 100%);
  color: #180202;
}

.ticket-transfer-accept {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  padding: 28px clamp(18px, 4vw, 56px) 48px;
}

.ticket-transfer-accept__topbar {
  width: min(1120px, 100%);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.ticket-transfer-accept__logo img {
  height: 36px;
  width: auto;
  display: block;
}

.ticket-transfer-accept__toplink {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #6b3030;
  font-size: 13.5px;
  font-weight: 520;
  text-decoration: none;
}

.ticket-transfer-accept__toplink:hover {
  color: #7b0202;
}

.ticket-transfer-accept__shell {
  width: min(1120px, 100%);
  margin: auto;
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(360px, 520px);
  gap: clamp(32px, 6vw, 74px);
  align-items: center;
  padding: 54px 0;
}

.ticket-transfer-accept__intro {
  max-width: 520px;
}

.ticket-transfer-accept__kicker {
  display: inline-flex;
  margin-bottom: 14px;
  color: #7b0202;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ticket-transfer-accept__intro h1 {
  margin: 0;
  color: #1a0101;
  font-size: clamp(2.25rem, 5vw, 4.5rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}

.ticket-transfer-accept__intro p {
  margin: 20px 0 0;
  color: #6b3030;
  font-size: 17px;
  line-height: 1.65;
}

.ticket-transfer-accept__card {
  position: relative;
  border: 1px solid rgba(123, 2, 2, .12);
  border-radius: 28px;
  padding: clamp(24px, 4vw, 34px);
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 34px 86px rgba(28, 10, 14, .12);
}

.ticket-transfer-accept__card::before {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px dashed rgba(123, 2, 2, .15);
  border-radius: 22px;
  pointer-events: none;
}

.ticket-transfer-accept__card > * {
  position: relative;
  z-index: 1;
}

.ticket-transfer-accept__card-head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 22px;
}

.ticket-transfer-accept__status-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: rgba(123, 2, 2, .09);
  color: #7b0202;
}

.ticket-transfer-accept__status-icon--ok {
  background: rgba(21, 128, 61, .12);
  color: #15803d;
}

.ticket-transfer-accept__status-icon--warn {
  background: rgba(180, 83, 9, .12);
  color: #b45309;
}

.ticket-transfer-accept__card-head h2,
.ticket-transfer-accept__success h2,
.ticket-transfer-accept__empty h2 {
  margin: 0;
  color: #1a0101;
  font-size: 25px;
  font-weight: 600;
  line-height: 1.2;
}

.ticket-transfer-accept__card-head p {
  margin: 6px 0 0;
  color: #6b3030;
  font-size: 14px;
  line-height: 1.45;
}

.ticket-transfer-accept__alert {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-bottom: 20px;
  border-radius: 14px;
  padding: 13px 15px;
  font-size: 14px;
  font-weight: 520;
}

.ticket-transfer-accept__alert--err {
  border: 1px solid rgba(185, 28, 28, .18);
  background: rgba(185, 28, 28, .08);
  color: #b91c1c;
}

.ticket-transfer-accept__alert--ok {
  border: 1px solid rgba(21, 128, 61, .20);
  background: rgba(21, 128, 61, .10);
  color: #15803d;
}

.ticket-transfer-accept__alert--warn {
  border: 1px solid rgba(180, 83, 9, .20);
  background: rgba(180, 83, 9, .10);
  color: #b45309;
}

.ticket-transfer-accept__summary {
  margin: 0;
  padding: 0;
  display: grid;
  border: 1px solid #f0e4e4;
  border-radius: 18px;
  overflow: hidden;
  background: #fffafa;
}

.ticket-transfer-accept__summary-row {
  display: grid;
  grid-template-columns: minmax(112px, 34%) minmax(0, 1fr);
  gap: 14px;
  padding: 14px 16px;
  border-bottom: 1px solid #f0e4e4;
}

.ticket-transfer-accept__summary-row:last-child {
  border-bottom: 0;
}

.ticket-transfer-accept__summary-row dt {
  margin: 0;
  color: #9b7070;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

.ticket-transfer-accept__summary-row dd {
  margin: 0;
  color: #1a0101;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.ticket-transfer-accept__summary-row--wide {
  display: block;
}

.ticket-transfer-accept__summary-row--wide dt {
  margin-bottom: 6px;
}

.ticket-transfer-accept__summary-row--wide dd {
  color: #6b3030;
  font-weight: 620;
}

.ticket-transfer-accept__note {
  margin: 18px 0 0;
  color: #6b3030;
  font-size: 14px;
  line-height: 1.55;
}

.ticket-transfer-accept__actions {
  display: grid;
  gap: 12px;
  margin-top: 22px;
}

.ticket-transfer-accept__button {
  width: 100%;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 0;
  border-radius: 16px;
  padding: 0 18px;
  background: #7b0202;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 12px 26px rgba(123, 2, 2, .22);
  cursor: pointer;
}

.ticket-transfer-accept__button:hover {
  color: #fff;
  opacity: .94;
  transform: translateY(-1px);
}

.ticket-transfer-accept__button--secondary {
  background: #1c293b;
  box-shadow: 0 12px 26px rgba(28, 41, 59, .18);
}

.ticket-transfer-accept__success,
.ticket-transfer-accept__empty {
  display: grid;
  justify-items: center;
  gap: 16px;
  text-align: center;
  padding: 18px 0;
}

/* ── Divider ──────────────────────────────────────────── */
.auth-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 22px 0;
}

.auth-divider::before,
.auth-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #f0e4e4;
}

.auth-divider span {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #9b7070;
}

/* ── Footer link row ──────────────────────────────────── */
.auth-footer-link {
  text-align: center;
  font-size: 14px;
  color: #6b3030;
  margin-top: 20px;
}

.auth-footer-link a {
  font-weight: 700;
  color: #7b0202;
  text-decoration: none;
  margin-left: 4px;
}

.auth-footer-link a:hover { text-decoration: underline; }

/* ── Username suggestion chips ────────────────────────── */
.auth-suggestions {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.auth-suggestions__label {
  font-size: 12px;
  color: #9b7070;
  font-weight: 620;
  width: 100%;
  margin-bottom: 2px;
}

.auth-suggestion-chip {
  padding: 4px 12px;
  border-radius: 999px;
  background: #fff1f1;
  border: 1px solid rgba(123,2,2,.16);
  font-size: 12.5px;
  font-weight: 620;
  color: #7b0202;
  cursor: pointer;
  text-decoration: none;
  transition: background .12s;
}

.auth-suggestion-chip:hover { background: rgba(123,2,2,.14); }

/* ── Terms agree text ─────────────────────────────────── */
.auth-agree {
  font-size: 12.5px;
  color: #9b7070;
  line-height: 1.55;
  margin-top: 14px;
  text-align: center;
}

.auth-agree a { color: #7b0202; font-weight: 620; text-decoration: none; }
.auth-agree a:hover { text-decoration: underline; }

/* ── Centered card (success / update-info / activate) ─── */
.auth-card-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  background:
    radial-gradient(circle at 10% 8%, rgba(255,255,255,.07), transparent 24rem),
    linear-gradient(145deg, #7b0202 0%, #3d0101 52%, #100101 100%);
}

.auth-card {
  background: #fff;
  border-radius: 24px;
  padding: 40px 36px;
  width: 100%;
  max-width: 460px;
  box-shadow: 0 28px 72px rgba(0,0,0,.28);
  text-align: center;
}

.auth-card__logo {
  margin-bottom: 24px;
}

.auth-card__logo img {
  height: 34px;
  width: auto;
}

.auth-card__icon {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  margin-bottom: 20px;
}

.auth-card__icon--success { background: rgba(21,128,61,.10); color: #15803d; }
.auth-card__icon--mail    { background: rgba(123,2,2,.08);   color: #7b0202; }
.auth-card__icon--info    { background: rgba(29,78,216,.10); color: #9E3737; }
.auth-card__icon--warning { background: rgba(180,83,9,.10);  color: #b45309; }

.auth-card__h1 {
  font-size: 1.5rem;
  font-weight: 520;
  color: #1a0101;
  margin: 0 0 10px;
  letter-spacing: -.03em;
}

.auth-card__text {
  font-size: 14.5px;
  color: #6b3030;
  line-height: 1.65;
  margin: 0 0 28px;
}

.auth-card__cta {
  width: 100%;
  height: 52px;
  background: #7b0202;
  color: #fff;
  font-size: 15px;
  font-weight: 520;
  border: none;
  border-radius: 14px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
  transition: opacity .12s, transform .12s;
  box-shadow: 0 6px 18px rgba(123,2,2,.24);
  margin-bottom: 14px;
}

.auth-card__cta:hover { opacity: .92; transform: translateY(-1px); color: #fff; }

.auth-card__secondary {
  font-size: 13.5px;
  color: #9b7070;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color .12s;
}

.auth-card__secondary:hover { color: #7b0202; }

.auth-card__secondary.is-disabled {
  color: #8f8f8f;
  cursor: not-allowed;
  opacity: .72;
}

.auth-card__secondary.is-disabled:hover {
  color: #8f8f8f;
}

.auth-card__links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
}

/* Auth card form (update_info uses card layout) */
.auth-card--form { text-align: left; }
.auth-card--form .auth-card__h1 { text-align: left; }
.auth-card--form .auth-card__text { text-align: left; margin-bottom: 20px; }

/* ── Dark mode ────────────────────────────────────────── */
html.night-mode .auth-form-panel          { background: #160606; }
html.night-mode .auth-heading             { color: #f5ecea; }
html.night-mode .auth-subheading          { color: #8A8F98; }
html.night-mode .auth-label               { color: #f5ecea; }
html.night-mode .auth-input               { background: #1c0707; border-color: rgba(255,180,180,.16); color: #f5ecea; }
html.night-mode .auth-input:focus         { border-color: #B80000; box-shadow: 0 0 0 3px rgba(255,122,122,.12); }
html.night-mode .auth-input::placeholder  { color: #8A8F98; }
html.night-mode .auth-input-wrap .auth-eye { color: #8A8F98; }
html.night-mode .auth-divider::before,
html.night-mode .auth-divider::after      { background: rgba(255,180,180,.14); }
html.night-mode .auth-divider span        { color: #8A8F98; }
html.night-mode .auth-footer-link         { color: #8A8F98; }
html.night-mode .auth-agree               { color: #8A8F98; }
html.night-mode .auth-top-bar__link       { color: #8A8F98; }
html.night-mode .auth-forgot              { color: #B80000; }
html.night-mode .auth-suggestion-chip     { background: rgba(255,122,122,.10); border-color: rgba(255,122,122,.22); color: #B80000; }
html.night-mode .auth-card                { background: #1c0707; box-shadow: 0 28px 72px rgba(0,0,0,.50); }
html.night-mode .auth-card__h1            { color: #f5ecea; }
html.night-mode .auth-card__text          { color: #8A8F98; }
html.night-mode .auth-card__secondary     { color: #8A8F98; }
html.night-mode .auth-card__secondary.is-disabled { color: #6f7480; }
html.night-mode .auth-label-row .auth-label { color: #f5ecea; }
html.night-mode .ticket-transfer-accept-page {
  background:
    radial-gradient(circle at 8% 12%, rgba(184, 0, 0, .18), transparent 24rem),
    linear-gradient(135deg, #120505 0%, #160606 55%, #10131b 100%);
}
html.night-mode .ticket-transfer-accept__intro h1,
html.night-mode .ticket-transfer-accept__card-head h2,
html.night-mode .ticket-transfer-accept__success h2,
html.night-mode .ticket-transfer-accept__empty h2 { color: #f5ecea; }
html.night-mode .ticket-transfer-accept__intro p,
html.night-mode .ticket-transfer-accept__card-head p,
html.night-mode .ticket-transfer-accept__note,
html.night-mode .ticket-transfer-accept__toplink { color: #8A8F98; }
html.night-mode .ticket-transfer-accept__card {
  background: rgba(28, 7, 7, .94);
  border-color: rgba(255, 180, 180, .12);
  box-shadow: 0 34px 86px rgba(0, 0, 0, .48);
}
html.night-mode .ticket-transfer-accept__card::before,
html.night-mode .ticket-transfer-accept__summary,
html.night-mode .ticket-transfer-accept__summary-row { border-color: rgba(255,180,180,.14); }
html.night-mode .ticket-transfer-accept__summary { background: #1c0707; }
html.night-mode .ticket-transfer-accept__summary-row dt { color: #8A8F98; }
html.night-mode .ticket-transfer-accept__summary-row dd { color: #f5ecea; }
html.night-mode .ticket-transfer-accept__summary-row--wide dd { color: #8A8F98; }

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 991px) {
  .ticket-transfer-accept {
    padding: 22px 18px 36px;
  }

  .ticket-transfer-accept__shell {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 40px 0 0;
  }

  .ticket-transfer-accept__intro {
    max-width: 680px;
  }
}

@media (max-width: 575.98px) {
  .ticket-transfer-accept__topbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .ticket-transfer-accept__logo img {
    height: 30px;
  }

  .ticket-transfer-accept__card {
    border-radius: 22px;
    padding: 22px 18px;
  }

  .ticket-transfer-accept__card::before {
    display: none;
  }

  .ticket-transfer-accept__summary-row {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

@media (max-width: 991px) {
  .auth-split { grid-template-columns: 1fr; }
  .auth-brand { display: none; }
  .auth-form-panel { padding: 36px 24px; min-height: 100vh; }
}

@media (max-width: 480px) {
  .auth-form-panel { padding: 28px 16px; }
  .auth-card       { padding: 32px 22px; border-radius: 20px; }
}


/* ═══════════════════════════════════════════════════════
   REDESIGNED SIDEBAR NAV - admin & organiser
   Uses Bootstrap Collapse for submenus (no floating dropdowns)
   ═══════════════════════════════════════════════════════ */

/* ── Shared tokens ─────────────────────────────────────── */
.vertical_nav {
  --snav-bg:         #ffffff;
  --snav-border:     rgba(0, 0, 0, 0.06);
  --snav-text:       #2a0a0a;
  --snav-muted:      #8A8F98;
  --snav-icon:       #8A8F98;
  --snav-hover-bg:   rgba(123, 2, 2, 0.06);
  --snav-active-bg:  rgba(123, 2, 2, 0.10);
  --snav-active-txt: #7b0202;
  --snav-badge-bg:   #7b0202;
  --snav-badge-txt:  #fff;
  --snav-sub-bg:     rgba(123, 2, 2, 0.03);
  --snav-group-txt:  #b07070;
  --snav-divider:    rgba(0, 0, 0, 0.06);
}

/* ── Outer container ───────────────────────────────────── */
.vertical_nav {
  background: var(--snav-bg);
  border-right: 1px solid var(--snav-border);
  height: calc(100vh - 60px);
  height: calc(100dvh - 60px);
  max-height: calc(100vh - 60px);
  max-height: calc(100dvh - 60px);
  overflow: hidden;
}

.vertical_nav .menu_left {
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 8px 0 120px;
  scrollbar-width: thin;
  scrollbar-color: rgba(123,2,2,.16) transparent;
}

.vertical_nav .menu_left::-webkit-scrollbar { width: 4px; }
.vertical_nav .menu_left::-webkit-scrollbar-thumb {
  background: rgba(123,2,2,.18);
  border-radius: 999px;
}

/* ── Reset old list ────────────────────────────────────── */
.vertical_nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* ── Group section label ───────────────────────────────── */
.snav-group {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .10em;
  color: var(--snav-group-txt);
  padding: 18px 18px 4px;
  margin-top: 4px;
}

.snav-group:first-child { padding-top: 10px; }

/* ── Nav item wrapper ──────────────────────────────────── */
.menu--item { margin: 1px 8px; }

/* ── Base link / toggle button ─────────────────────────── */
.menu--link,
.snav-toggle {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 2px 10px;
  border-radius: 10px;
  font-size: 13.5px;
  color: var(--snav-text);
  text-decoration: none;
  cursor: pointer;
  transition: background .12s, color .12s;
  border: none;
  background: transparent;
  width: 100%;
  text-align: left;
  line-height: 1.3;
}

.menu--link:hover,
.snav-toggle:hover {
  background: var(--snav-hover-bg);
  color: var(--snav-active-txt);
  text-decoration: none;
}

.menu--link:hover .menu--icon,
.snav-toggle:hover .menu--icon {
  color: var(--snav-active-txt);
}

/* ── Active state ──────────────────────────────────────── */
.menu--link.snav-active,
.snav-toggle.snav-active {
  background: var(--snav-active-bg);
  color: var(--snav-active-txt);
}

.menu--link.snav-active .menu--icon,
.snav-toggle.snav-active .menu--icon {
  color: var(--snav-active-txt);
}

/* ── Icon ──────────────────────────────────────────────── */
.menu--icon {
  font-size: 15px;
  color: var(--snav-icon);
  width: 18px;
  text-align: center;
  flex-shrink: 0;
  transition: color .12s;
}

/* ── Label ─────────────────────────────────────────────── */
.menu--label { flex: 1; min-width: 0; }

/* ── Chevron arrow ─────────────────────────────────────── */
.snav-arrow {
  font-size: 10px;
  color: var(--snav-muted);
  margin-left: auto;
  transition: transform .22s ease, color .12s;
  flex-shrink: 0;
}

/* Rotate arrow when open */
.snav-toggle[aria-expanded="true"] .snav-arrow {
  transform: rotate(180deg);
  color: var(--snav-active-txt);
}

.snav-toggle[aria-expanded="true"] {
  color: var(--snav-active-txt);
  background: var(--snav-active-bg);
}

.snav-toggle[aria-expanded="true"] .menu--icon {
  color: var(--snav-active-txt);
}

/* ── Submenu (inline accordion) ────────────────────────── */
.snav-sub {
  margin: 2px 0 2px 6px;
  padding: 2px 0;
  border-left: 2px solid rgba(123, 2, 2, 0.14);
  border-radius: 0 0 0 4px;
}

.snav-sub-item { margin: 0; }

.snav-sub-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px 7px 16px;
  font-size: 13px;
  font-weight: 554;
  color: var(--snav-muted);
  text-decoration: none;
  border-radius: 0 8px 8px 0;
  transition: background .10s, color .10s;
  position: relative;
}

.snav-sub-link:hover {
  color: var(--snav-active-txt);
  background: var(--snav-hover-bg);
  text-decoration: none;
}

.snav-sub-link.snav-active {
  color: var(--snav-active-txt);
  font-weight: 700;
  background: var(--snav-active-bg);
}

/* ── Badge (notification count) ────────────────────────── */
.snav-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--snav-badge-bg);
  color: var(--snav-badge-txt);
  font-size: 10px;
  font-weight: 446;
  line-height: 1;
  flex-shrink: 0;
  margin-left: auto;
}

/* When badge is inside a sub-link, don't push with margin-left:auto */
.snav-sub-link .snav-badge { margin-left: 4px; }

/* ── Thin divider ──────────────────────────────────────── */
.snav-divider {
  height: 1px;
  background: var(--snav-divider);
  margin: 6px 14px;
}

/* ── Keep Bootstrap's Collapse animation (no extra needed) */

/* ── Override old dropdown styles inside sidenav ──────── */
.vertical_nav .dropdown-menu,
.vertical_nav .dropdown-submenu {
  display: none; /* hide any leftover Bootstrap dropdown */
}

/* ── Dark mode ─────────────────────────────────────────── */
html.night-mode .vertical_nav {
  --snav-bg:         #160606;
  --snav-border:     rgba(255, 180, 180, 0.10);
  --snav-text:       #f5ecea;
  --snav-muted:      #8A8F98;
  --snav-icon:       #8A8F98;
  --snav-hover-bg:   rgba(255, 122, 122, 0.08);
  --snav-active-bg:  rgba(255, 122, 122, 0.14);
  --snav-active-txt: #B80000;
  --snav-badge-bg:   #B80000;
  --snav-badge-txt:  #1a0101;
  --snav-sub-bg:     rgba(255, 122, 122, 0.04);
  --snav-group-txt:  #8A8F98;
  --snav-divider:    rgba(255, 180, 180, 0.10);
}

html.night-mode .vertical_nav .menu_left::-webkit-scrollbar-thumb {
  background: rgba(255,122,122,.18);
}

html.night-mode .snav-sub {
  border-left-color: rgba(255, 122, 122, 0.22);
}

/* Source: public_html/event-filter.php, public_html/category.php */
/* Category hero icon badge */
.ef-cat-hero-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  font-size: 1.5rem;
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.35);
}

/* Subtitle text inside the search hero */
.sr-search-hero-sub {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.8);
  margin: 0 auto 16px;
  max-width: 520px;
  line-height: 1.55;
  text-align: center;
}

/* Inline verified checkmark next to organiser name in cards */
.sr-verified-inline {
  color: var(--sr-accent);
  font-size: 0.8em;
  vertical-align: middle;
}
/* Source: public_html/status.php */
.sr-status-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 24px;
  border-radius: 12px;
  font-weight: 600;
  font-size: 1.05rem;
  margin-bottom: 32px;
}
.sr-status-banner--ok { background: #d1fae5; color: #065f46; }
.sr-status-banner--warn { background: #fef3c7; color: #92400e; }
.sr-status-banner--down { background: #fee2e2; color: #991b1b; }
.sr-status-banner__dot {
  width: 12px; height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
}
.sr-status-banner--ok .sr-status-banner__dot { background: #10b981; }
.sr-status-banner--warn .sr-status-banner__dot { background: #f59e0b; }
.sr-status-banner--down .sr-status-banner__dot { background: #ef4444; }
.sr-status-grid {
  display: flex;
  flex-direction: column;
  gap: 1px;
  border: 1px solid var(--sr-border);
  border-radius: 12px;
  overflow: hidden;
}
.sr-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  background: var(--sr-surface);
  gap: 12px;
}
.sr-status-row:not(:last-child) { border-bottom: 1px solid var(--sr-border); }
.sr-status-row__name { font-weight: 554; color: var(--sr-text); }
.sr-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 0.8125rem;
  font-weight: 600;
}
.sr-status-pill--ok  { background: #d1fae5; color: #065f46; }
.sr-status-pill--warn { background: #fef3c7; color: #92400e; }
.sr-status-pill--down { background: #fee2e2; color: #991b1b; }
.sr-status-pill__dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}
.sr-status-pill--ok .sr-status-pill__dot  { background: #10b981; }
.sr-status-pill--warn .sr-status-pill__dot { background: #f59e0b; }
.sr-status-pill--down .sr-status-pill__dot { background: #ef4444; }

/* Source: public_html/site-map.php */
.sr-sitemap { padding: 48px 0 80px; }
.sr-sitemap-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}
@media (min-width: 640px)  { .sr-sitemap-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .sr-sitemap-grid { grid-template-columns: repeat(3, 1fr); } }
.sr-sitemap-section__heading {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--sr-primary);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--sr-primary-soft);
}
.sr-sitemap-section__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sr-sitemap-section__list a {
  color: var(--sr-text);
  text-decoration: none;
  font-size: 0.9375rem;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color .15s;
}
.sr-sitemap-section__list a:hover { color: var(--sr-primary); }
.sr-sitemap-section__list a i { font-size: 0.8em; color: var(--sr-text-muted); }


.careers-page {
  --careers-primary: #7b0202;
  --careers-primary-dark: #520101;
  --careers-primary-soft: rgba(123, 2, 2, .08);
  --careers-text: var(--sr-text, #171717);
  --careers-muted: var(--sr-text-muted);
  --careers-border: var(--sr-border, rgba(0, 0, 0, .1));
  --careers-surface: var(--sr-surface);
  --careers-surface-alt: var(--sr-surface-alt, #fafafa);
  background: var(--careers-surface);
  color: var(--careers-text);
}

.careers-page a {
  text-decoration: none;
}

.careers-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  color: var(--careers-primary);
  font-size: 11px;
  font-weight: 446;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.careers-kicker--light {
  color: rgba(255, 255, 255, .78);
}

.careers-kicker--dark {
  color: var(--careers-primary);
}

.careers-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1;
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    background .2s ease,
    color .2s ease,
    border-color .2s ease;
}

.careers-btn:hover {
  transform: translateY(-2px);
  text-decoration: none;
}

.careers-btn--primary {
  color: #fff;
  background: var(--careers-primary);
  box-shadow: 0 14px 28px rgba(123, 2, 2, .2);
}

.careers-btn--primary:hover {
  color: #fff;
  background: var(--careers-primary-dark);
  box-shadow: 0 18px 34px rgba(123, 2, 2, .25);
}

.careers-btn--ghost {
  color: var(--careers-text);
  background: rgba(255, 255, 255, .78);
  border-color: rgba(123, 2, 2, .14);
  backdrop-filter: blur(12px);
}

.careers-btn--ghost:hover {
  color: var(--careers-primary);
  background: #fff;
  border-color: rgba(123, 2, 2, .24);
}

.careers-btn--light {
  color: var(--careers-primary);
  background: #fff;
  box-shadow: 0 14px 28px rgba(0, 0, 0, .14);
}

.careers-btn--light:hover {
  color: var(--careers-primary-dark);
  background: rgba(255, 255, 255, .94);
}

/* Hero */

.careers-hero {
  position: relative;
  overflow: hidden;
  padding: 92px 0 86px;
  background:
    radial-gradient(circle at 16% 18%, rgba(123, 2, 2, .12), transparent 32%),
    radial-gradient(circle at 82% 8%, rgba(123, 2, 2, .1), transparent 26%),
    linear-gradient(135deg, #fff 0%, #fff8f8 48%, #f9eeee 100%);
}

.careers-hero__glow {
  position: absolute;
  border-radius: 999px;
  filter: blur(10px);
  opacity: .55;
  pointer-events: none;
}

.careers-hero__glow--one {
  width: 240px;
  height: 240px;
  right: -80px;
  top: 80px;
  background: rgba(123, 2, 2, .1);
}

.careers-hero__glow--two {
  width: 160px;
  height: 160px;
  left: -50px;
  bottom: 40px;
  background: rgba(123, 2, 2, .08);
}

.careers-hero__content {
  position: relative;
  z-index: 1;
  max-width: 980px;
}

.careers-hero__title {
  max-width: 920px;
  margin: 0;
  color: #171717;
  font-weight: 446;
  line-height: 1.08;
  letter-spacing: -.035em;
}

.careers-hero__text {
  max-width: 760px;
  margin: 22px 0 0;
  color: #4f4f4f;
  font-size: clamp(16px, 1.8vw, 19px);
  line-height: 1.7;
}

.careers-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

/* Intro */

.careers-intro {
  padding: 0 0 72px;
  margin-top: -34px;
  position: relative;
  z-index: 3;
}

.careers-intro__box {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 32px;
  align-items: center;
  padding: 30px;
  border: 1px solid var(--careers-border);
  border-radius: 26px;
  background: var(--careers-surface);
  box-shadow: 0 20px 54px rgba(0, 0, 0, .07);
}

.careers-intro__box h2,
.careers-section__head h2,
.careers-split__content h2,
.careers-mission h2,
.careers-spec h2,
.careers-cta h2 {
  margin: 0;
  color: var(--careers-text);
  font-size: clamp(26px, 3.4vw, 40px);
  line-height: 1.15;
  letter-spacing: -.028em;
}

.careers-intro__box p:last-child {
  margin: 0;
  color: var(--careers-muted);
  font-size: 15.5px;
  line-height: 1.75;
}

/* Sections */

.careers-section {
  padding: 76px 0;
}

.careers-section--soft {
  background:
    linear-gradient(180deg, rgba(123, 2, 2, .03), transparent),
    var(--careers-surface-alt);
}

.careers-section__head {
  max-width: 720px;
  margin: 0 auto 38px;
  text-align: center;
}

.careers-section__head p:last-child {
  margin: 14px auto 0;
  max-width: 640px;
  color: var(--careers-muted);
  font-size: 15.5px;
  line-height: 1.7;
}

.careers-card-grid,
.careers-culture-grid {
  display: grid;
  gap: 18px;
}

.careers-card-grid--four {
  grid-template-columns: repeat(4, 1fr);
}

.careers-card-grid--three,
.careers-culture-grid {
  grid-template-columns: repeat(3, 1fr);
}

/* Cards */

.careers-feature-card,
.careers-benefit-card {
  position: relative;
  overflow: hidden;
  min-height: 230px;
  padding: 24px;
  border: 1px solid var(--careers-border);
  border-radius: 24px;
  background: var(--careers-surface);
  box-shadow: 0 16px 38px rgba(0, 0, 0, .05);
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.careers-feature-card::before,
.careers-benefit-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 85% 0%, rgba(123, 2, 2, .08), transparent 34%);
  pointer-events: none;
}

.careers-feature-card:hover,
.careers-benefit-card:hover {
  transform: translateY(-4px);
  border-color: rgba(123, 2, 2, .22);
  box-shadow: 0 22px 50px rgba(0, 0, 0, .08);
}

.careers-feature-card--large {
  min-height: 270px;
}

.careers-feature-card__icon,
.careers-benefit-card__icon {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  margin-bottom: 20px;
  border-radius: 16px;
  color: #fff;
  background: var(--careers-primary);
  box-shadow: 0 12px 24px rgba(123, 2, 2, .18);
  font-size: 19px;
}

.careers-feature-card h3,
.careers-benefit-card h3,
.careers-team-item h3,
.careers-process__step h3,
.careers-role-card h3,
.careers-empty h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 9px;
  color: var(--careers-text);
  font-size: 18px;
  font-weight: 760;
  line-height: 1.3;
}

.careers-feature-card p,
.careers-benefit-card p,
.careers-team-item p,
.careers-process__step p,
.careers-role-card p,
.careers-empty p,
.careers-spec p,
.careers-cta p,
.careers-mission p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--careers-muted);
  font-size: 14.5px;
  line-height: 1.7;
}

/* Mission */

.careers-mission {
  padding: 74px 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(255, 255, 255, .14), transparent 30%),
    linear-gradient(135deg, #240000, #7b0202);
  color: #fff;
}

.careers-mission__inner {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 26px;
  align-items: start;
  max-width: 900px;
}

.careers-mission__icon {
  display: grid;
  place-items: center;
  width: 82px;
  height: 82px;
  border-radius: 26px;
  background: rgba(255, 255, 255, .12);
  color: #fff;
  font-size: 30px;
}

.careers-mission h2,
.careers-cta h2 {
  color: #fff;
}

.careers-mission p,
.careers-cta p {
  max-width: 740px;
  margin-top: 14px;
  color: rgba(255, 255, 255, .78);
  font-size: 16px;
}

/* Teams */

.careers-split {
  display: grid;
  grid-template-columns: .84fr 1.16fr;
  gap: 48px;
  align-items: start;
}

.careers-split__content {
  position: sticky;
  top: 100px;
}

.careers-split__content p:last-child {
  margin-top: 16px;
  color: var(--careers-muted);
  font-size: 15.5px;
  line-height: 1.75;
}

.careers-team-list {
  display: grid;
  gap: 14px;
}

.careers-team-item {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 16px;
  padding: 21px;
  border: 1px solid var(--careers-border);
  border-radius: 22px;
  background: var(--careers-surface);
  box-shadow: 0 14px 36px rgba(0, 0, 0, .045);
}

.careers-team-item > div:first-child {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 17px;
  color: var(--careers-primary);
  background: var(--careers-primary-soft);
  font-size: 21px;
}

/* Process */

.careers-process {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.careers-process__step {
  padding: 23px;
  border: 1px solid var(--careers-border);
  border-radius: 24px;
  background: var(--careers-surface);
}

.careers-process__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  margin-bottom: 20px;
  padding: 0 12px;
  border-radius: 999px;
  color: #fff;
  background: var(--careers-primary);
  font-size: 12.5px;
  font-weight: 446;
}

/* Roles */

.careers-roles {
  display: grid;
  gap: 14px;
  max-width: 900px;
  margin: 0 auto;
}

.careers-role-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 24px;
  border: 1px solid var(--careers-border);
  border-radius: 24px;
  background: var(--careers-surface);
  box-shadow: 0 16px 40px rgba(0, 0, 0, .05);
}

.careers-role-card__meta {
  margin-bottom: 10px;
  color: var(--careers-primary);
  font-size: 13px;
  font-weight: 760;
}

.careers-role-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--careers-primary);
  font-size: 14px;
  font-weight: 760;
  white-space: nowrap;
}

.careers-empty {
  max-width: 650px;
  margin: 0 auto;
  padding: 42px 30px;
  border: 2px dashed rgba(123, 2, 2, .22);
  border-radius: 28px;
  background:
    radial-gradient(circle at 50% 0%, rgba(123, 2, 2, .075), transparent 38%),
    var(--careers-surface);
  text-align: center;
}

.careers-empty__icon {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  margin: 0 auto 18px;
  border-radius: 24px;
  color: #fff;
  background: var(--careers-primary);
  box-shadow: 0 16px 30px rgba(123, 2, 2, .18);
  font-size: 26px;
}

.careers-empty p {
  max-width: 460px;
  margin: 0 auto 24px;
  font-size: 15px;
}

/* Speculative Application */

.careers-spec {
  padding: 34px 0;
  background: var(--careers-surface);
}

.careers-spec__box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 32px;
  border: 1px solid rgba(123, 2, 2, .16);
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(123, 2, 2, .075), transparent 60%),
    var(--careers-surface-alt);
}

.careers-spec p {
  max-width: 720px;
  margin-top: 13px;
  font-size: 15.5px;
}

/* CTA */

.careers-cta {
  padding: 82px 0;
  background:
    radial-gradient(circle at 80% 20%, rgba(255, 255, 255, .14), transparent 30%),
    linear-gradient(135deg, #160000, #7b0202);
  text-align: center;
}

.careers-cta__inner {
  max-width: 740px;
  margin: 0 auto;
}

.careers-cta p {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 26px;
}

/* Responsive */

@media (max-width: 1199px) {
  .careers-card-grid--four,
  .careers-process {
    grid-template-columns: repeat(2, 1fr);
  }

  .careers-split {
    grid-template-columns: 1fr;
  }

  .careers-split__content {
    position: static;
  }
}

@media (max-width: 991px) {
  .careers-hero {
    padding: 78px 0 74px;
  }

  .careers-culture-grid,
  .careers-card-grid--three {
    grid-template-columns: 1fr;
  }

  .careers-intro__box,
  .careers-spec__box {
    grid-template-columns: 1fr;
  }

  .careers-spec__box .careers-btn {
    justify-self: start;
  }
}

@media (max-width: 767px) {
  .careers-hero {
    padding: 64px 0 70px;
  }

  .careers-section {
    padding: 62px 0;
  }

  .careers-hero__actions {
    flex-direction: column;
  }

  .careers-btn {
    width: 100%;
  }

  .careers-card-grid--four,
  .careers-process {
    grid-template-columns: 1fr;
  }

  .careers-intro {
    padding-bottom: 54px;
  }

  .careers-intro__box,
  .careers-spec__box {
    padding: 24px;
    border-radius: 22px;
  }

  .careers-mission__inner {
    grid-template-columns: 1fr;
  }

  .careers-role-card {
    grid-template-columns: 1fr;
  }
}

.security-page {
  --security-primary: #7b0202;
  --security-primary-dark: #520101;
  --security-primary-soft: rgba(123, 2, 2, .08);
  --security-text: var(--sr-text, #171717);
  --security-muted: var(--sr-text-muted);
  --security-border: var(--sr-border, rgba(0, 0, 0, .1));
  --security-surface: var(--sr-surface);
  --security-surface-alt: var(--sr-surface-alt, #fafafa);
  background: var(--security-surface);
  color: var(--security-text);
}

.security-page a {
  text-decoration: none;
}

.security-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  color: var(--security-primary);
  font-size: 11px;
  font-weight: 446;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.security-kicker--light {
  color: rgba(255, 255, 255, .78);
}

.security-kicker--dark {
  color: var(--security-primary);
}

.security-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1;
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    background .2s ease,
    color .2s ease,
    border-color .2s ease;
}

.security-btn:hover {
  transform: translateY(-2px);
  text-decoration: none;
}

.security-btn--primary {
  color: #fff;
  background: var(--security-primary);
  box-shadow: 0 14px 28px rgba(123, 2, 2, .2);
}

.security-btn--primary:hover {
  color: #fff;
  background: var(--security-primary-dark);
  box-shadow: 0 18px 34px rgba(123, 2, 2, .25);
}

.security-btn--ghost {
  color: var(--security-text);
  background: rgba(255, 255, 255, .78);
  border-color: rgba(123, 2, 2, .14);
  backdrop-filter: blur(12px);
}

.security-btn--ghost:hover {
  color: var(--security-primary);
  background: #fff;
  border-color: rgba(123, 2, 2, .24);
}

.security-btn--light {
  color: var(--security-primary);
  background: #fff;
  box-shadow: 0 14px 28px rgba(0, 0, 0, .14);
}

.security-btn--light:hover {
  color: var(--security-primary-dark);
  background: rgba(255, 255, 255, .94);
}

/* Hero */

.security-hero {
  position: relative;
  overflow: hidden;
  padding: 92px 0 86px;
  background:
    radial-gradient(circle at 16% 18%, rgba(123, 2, 2, .12), transparent 32%),
    radial-gradient(circle at 82% 8%, rgba(123, 2, 2, .1), transparent 26%),
    linear-gradient(135deg, #fff 0%, #fff8f8 48%, #f9eeee 100%);
}

.security-hero__glow {
  position: absolute;
  border-radius: 999px;
  filter: blur(10px);
  opacity: .55;
  pointer-events: none;
}

.security-hero__glow--one {
  width: 240px;
  height: 240px;
  right: -80px;
  top: 80px;
  background: rgba(123, 2, 2, .1);
}

.security-hero__glow--two {
  width: 160px;
  height: 160px;
  left: -50px;
  bottom: 40px;
  background: rgba(123, 2, 2, .08);
}

.security-hero__content {
  position: relative;
  z-index: 1;
  max-width: 980px;
}

.security-hero__title {
  max-width: 920px;
  margin: 0;
  color: #171717;
  line-height: 1.08;
  letter-spacing: -.035em;
}

.security-hero__text {
  max-width: 780px;
  margin: 22px 0 0;
  color: #4f4f4f;
  font-size: clamp(16px, 1.8vw, 19px);
  line-height: 1.7;
}

.security-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

/* Intro */

.security-intro {
  padding: 0 0 72px;
  margin-top: -34px;
  position: relative;
  z-index: 3;
}

.security-intro__box {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 32px;
  align-items: center;
  padding: 30px;
  border: 1px solid var(--security-border);
  border-radius: 26px;
  background: var(--security-surface);
  box-shadow: 0 20px 54px rgba(0, 0, 0, .07);
}

.security-intro__box h2,
.security-section__head h2,
.security-split__content h2,
.security-band h2,
.security-report-box h2,
.security-commitment h2,
.security-cta h2 {
  margin: 0;
  color: var(--security-text);
  font-size: clamp(26px, 3.4vw, 40px);
  font-weight: 760;
  line-height: 1.15;
  letter-spacing: -.028em;
}

.security-intro__box p:last-child {
  margin: 0;
  color: var(--security-muted);
  font-size: 15.5px;
  line-height: 1.75;
}

/* Sections */

.security-section {
  padding: 76px 0;
}

.security-section--soft {
  background:
    linear-gradient(180deg, rgba(123, 2, 2, .03), transparent),
    var(--security-surface-alt);
}

.security-section__head {
  max-width: 720px;
  margin: 0 auto 38px;
  text-align: center;
}

.security-section__head p:last-child {
  margin: 14px auto 0;
  max-width: 650px;
  color: var(--security-muted);
  font-size: 15.5px;
  line-height: 1.7;
}

.security-card-grid {
  display: grid;
  gap: 18px;
}

.security-card-grid--four {
  grid-template-columns: repeat(4, 1fr);
}

.security-card-grid--three {
  grid-template-columns: repeat(3, 1fr);
}

/* Cards */

.security-card,
.security-tip,
.security-disclosure-card {
  position: relative;
  overflow: hidden;
  min-height: 230px;
  padding: 24px;
  border: 1px solid var(--security-border);
  border-radius: 24px;
  background: var(--security-surface);
  box-shadow: 0 16px 38px rgba(0, 0, 0, .05);
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.security-card::before,
.security-tip::before,
.security-disclosure-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 85% 0%, rgba(123, 2, 2, .08), transparent 34%);
  pointer-events: none;
}

.security-card:hover,
.security-tip:hover,
.security-disclosure-card:hover {
  transform: translateY(-4px);
  border-color: rgba(123, 2, 2, .22);
  box-shadow: 0 22px 50px rgba(0, 0, 0, .08);
}

.security-card__icon,
.security-tip__icon,
.security-disclosure-card__icon {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  margin-bottom: 20px;
  border-radius: 16px;
  color: #fff;
  background: var(--security-primary);
  box-shadow: 0 12px 24px rgba(123, 2, 2, .18);
  font-size: 19px;
}

.security-card h3,
.security-tip h3,
.security-disclosure-card h3,
.security-layer h3,
.security-report-box h2,
.security-commitment h2 {
  position: relative;
  z-index: 1;
  margin: 0 0 9px;
  color: var(--security-text);
  font-size: 18px;
  font-weight: 760;
  line-height: 1.3;
}

.security-card p,
.security-tip p,
.security-disclosure-card p,
.security-layer p,
.security-split__content p,
.security-band p,
.security-report-box p,
.security-commitment p,
.security-cta p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--security-muted);
  font-size: 14.5px;
  line-height: 1.7;
}

/* Platform layers */

.security-split {
  display: grid;
  grid-template-columns: .84fr 1.16fr;
  gap: 48px;
  align-items: start;
}

.security-split__content {
  position: sticky;
  top: 100px;
}

.security-split__content p:last-child {
  margin-top: 16px;
  font-size: 15.5px;
  line-height: 1.75;
}

.security-layer-list {
  display: grid;
  gap: 14px;
}

.security-layer {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 18px;
  padding: 22px;
  border: 1px solid var(--security-border);
  border-radius: 22px;
  background: var(--security-surface);
  box-shadow: 0 14px 36px rgba(0, 0, 0, .045);
}

.security-layer__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 82px;
  height: 44px;
  border-radius: 999px;
  color: var(--security-primary);
  background: var(--security-primary-soft);
  font-size: 12px;
  font-weight: 446;
}

/* Dark band */

.security-band {
  padding: 74px 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(255, 255, 255, .14), transparent 30%),
    linear-gradient(135deg, #240000, #7b0202);
  color: #fff;
}

.security-band__inner {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 26px;
  align-items: start;
  max-width: 900px;
}

.security-band__icon {
  display: grid;
  place-items: center;
  width: 82px;
  height: 82px;
  border-radius: 26px;
  background: rgba(255, 255, 255, .12);
  color: #fff;
  font-size: 30px;
}

.security-band h2,
.security-cta h2 {
  color: #fff;
}

.security-band p,
.security-cta p {
  max-width: 740px;
  margin-top: 14px;
  color: rgba(255, 255, 255, .78);
  font-size: 16px;
}

/* Disclosure */

.security-disclosure-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.security-report-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  margin-top: 24px;
  padding: 32px;
  border: 1px solid rgba(123, 2, 2, .16);
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(123, 2, 2, .075), transparent 60%),
    var(--security-surface-alt);
}

.security-report-box h2 {
  font-size: clamp(23px, 3vw, 34px);
}

.security-report-box p {
  max-width: 720px;
  margin-top: 13px;
  font-size: 15.5px;
}

.security-report-list {
  display: grid;
  gap: 10px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.security-report-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--security-muted);
  font-size: 14.5px;
  line-height: 1.55;
}

.security-report-list i {
  margin-top: 3px;
  color: var(--security-primary);
}

/* Commitment */

.security-commitment {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 32px;
  align-items: center;
  padding: 30px;
  border: 1px solid var(--security-border);
  border-radius: 26px;
  background: var(--security-surface);
  box-shadow: 0 16px 38px rgba(0, 0, 0, .045);
}

.security-commitment p {
  font-size: 15.5px;
}

/* CTA */

.security-cta {
  padding: 82px 0;
  background:
    radial-gradient(circle at 80% 20%, rgba(255, 255, 255, .14), transparent 30%),
    linear-gradient(135deg, #160000, #7b0202);
  text-align: center;
}

.security-cta__inner {
  max-width: 740px;
  margin: 0 auto;
}

.security-cta p {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 26px;
}

/* Responsive */

@media (max-width: 1199px) {
  .security-card-grid--four {
    grid-template-columns: repeat(2, 1fr);
  }

  .security-split {
    grid-template-columns: 1fr;
  }

  .security-split__content {
    position: static;
  }
}

@media (max-width: 991px) {
  .security-hero {
    padding: 78px 0 74px;
  }

  .security-card-grid--three,
  .security-disclosure-grid {
    grid-template-columns: 1fr;
  }

  .security-intro__box,
  .security-report-box,
  .security-commitment {
    grid-template-columns: 1fr;
  }

  .security-report-box .security-btn {
    justify-self: start;
  }
}

@media (max-width: 767px) {
  .security-hero {
    padding: 64px 0 70px;
  }

  .security-section {
    padding: 62px 0;
  }

  .security-hero__actions {
    flex-direction: column;
  }

  .security-btn {
    width: 100%;
  }

  .security-card-grid--four {
    grid-template-columns: 1fr;
  }

  .security-intro {
    padding-bottom: 54px;
  }

  .security-intro__box,
  .security-report-box,
  .security-commitment {
    padding: 24px;
    border-radius: 22px;
  }

  .security-band__inner {
    grid-template-columns: 1fr;
  }

  .security-layer {
    grid-template-columns: 1fr;
  }

  .security-layer__label {
    width: fit-content;
    min-width: 70px;
  }
}

.accessibility-page {
  --accessibility-primary: #7b0202;
  --accessibility-primary-dark: #520101;
  --accessibility-primary-soft: rgba(123, 2, 2, .08);
  --accessibility-text: var(--sr-text, #171717);
  --accessibility-muted: var(--sr-text-muted);
  --accessibility-border: var(--sr-border, rgba(0, 0, 0, .1));
  --accessibility-surface: var(--sr-surface);
  --accessibility-surface-alt: var(--sr-surface-alt, #fafafa);
  background: var(--accessibility-surface);
  color: var(--accessibility-text);
}

.accessibility-page a {
  text-decoration: none;
}

.accessibility-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  color: var(--accessibility-primary);
  font-size: 11px;
  font-weight: 446;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.accessibility-kicker--light {
  color: rgba(255, 255, 255, .78);
}

.accessibility-kicker--dark {
  color: var(--accessibility-primary);
}

.accessibility-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1;
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    background .2s ease,
    color .2s ease,
    border-color .2s ease;
}

.accessibility-btn:hover {
  transform: translateY(-2px);
  text-decoration: none;
}

.accessibility-btn--primary {
  color: #fff;
  background: var(--accessibility-primary);
  box-shadow: 0 14px 28px rgba(123, 2, 2, .2);
}

.accessibility-btn--primary:hover {
  color: #fff;
  background: var(--accessibility-primary-dark);
  box-shadow: 0 18px 34px rgba(123, 2, 2, .25);
}

.accessibility-btn--ghost {
  color: var(--accessibility-text);
  background: rgba(255, 255, 255, .78);
  border-color: rgba(123, 2, 2, .14);
  backdrop-filter: blur(12px);
}

.accessibility-btn--ghost:hover {
  color: var(--accessibility-primary);
  background: #fff;
  border-color: rgba(123, 2, 2, .24);
}

.accessibility-btn--light {
  color: var(--accessibility-primary);
  background: #fff;
  box-shadow: 0 14px 28px rgba(0, 0, 0, .14);
}

.accessibility-btn--light:hover {
  color: var(--accessibility-primary-dark);
  background: rgba(255, 255, 255, .94);
}

/* Hero */

.accessibility-hero {
  position: relative;
  overflow: hidden;
  padding: 92px 0 86px;
  background:
    radial-gradient(circle at 16% 18%, rgba(123, 2, 2, .12), transparent 32%),
    radial-gradient(circle at 82% 8%, rgba(123, 2, 2, .1), transparent 26%),
    linear-gradient(135deg, #fff 0%, #fff8f8 48%, #f9eeee 100%);
}

.accessibility-hero__glow {
  position: absolute;
  border-radius: 999px;
  filter: blur(10px);
  opacity: .55;
  pointer-events: none;
}

.accessibility-hero__glow--one {
  width: 240px;
  height: 240px;
  right: -80px;
  top: 80px;
  background: rgba(123, 2, 2, .1);
}

.accessibility-hero__glow--two {
  width: 160px;
  height: 160px;
  left: -50px;
  bottom: 40px;
  background: rgba(123, 2, 2, .08);
}

.accessibility-hero__content {
  position: relative;
  z-index: 1;
  max-width: 980px;
}

.accessibility-hero__title {
  max-width: 920px;
  margin: 0;
  color: #171717;
  line-height: 1.08;
  letter-spacing: -.035em;
}

.accessibility-hero__text {
  max-width: 780px;
  margin: 22px 0 0;
  color: #4f4f4f;
  font-size: clamp(16px, 1.8vw, 19px);
  line-height: 1.7;
}

.accessibility-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

/* Intro */

.accessibility-intro {
  padding: 0 0 72px;
  margin-top: -34px;
  position: relative;
  z-index: 3;
}

.accessibility-intro__box {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 32px;
  align-items: center;
  padding: 30px;
  border: 1px solid var(--accessibility-border);
  border-radius: 26px;
  background: var(--accessibility-surface);
  box-shadow: 0 20px 54px rgba(0, 0, 0, .07);
}

.accessibility-intro__box h2,
.accessibility-section__head h2,
.accessibility-standard h2,
.accessibility-split__content h2,
.accessibility-limits h2,
.accessibility-feedback h2,
.accessibility-cta h2,
.accessibility-band h2 {
  margin: 0;
  color: var(--accessibility-text);
  font-size: clamp(26px, 3.4vw, 40px);
  font-weight: 760;
  line-height: 1.15;
  letter-spacing: -.028em;
}

.accessibility-intro__box p:last-child {
  margin: 0;
  color: var(--accessibility-muted);
  font-size: 15.5px;
  line-height: 1.75;
}

/* Sections */

.accessibility-section {
  padding: 76px 0;
}

.accessibility-section--soft {
  background:
    linear-gradient(180deg, rgba(123, 2, 2, .03), transparent),
    var(--accessibility-surface-alt);
}

.accessibility-section__head {
  max-width: 720px;
  margin: 0 auto 38px;
  text-align: center;
}

.accessibility-section__head p:last-child {
  margin: 14px auto 0;
  max-width: 650px;
  color: var(--accessibility-muted);
  font-size: 15.5px;
  line-height: 1.7;
}

.accessibility-card-grid {
  display: grid;
  gap: 18px;
}

.accessibility-card-grid--four {
  grid-template-columns: repeat(4, 1fr);
}

.accessibility-card-grid--three {
  grid-template-columns: repeat(3, 1fr);
}

/* Standard */

.accessibility-standard {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 26px;
  align-items: start;
  max-width: 900px;
  padding: 30px;
  border: 1px solid var(--accessibility-border);
  border-radius: 26px;
  background: var(--accessibility-surface);
  box-shadow: 0 16px 38px rgba(0, 0, 0, .045);
}

.accessibility-standard__icon {
  display: grid;
  place-items: center;
  width: 82px;
  height: 82px;
  border-radius: 26px;
  color: #fff;
  background: var(--accessibility-primary);
  font-size: 30px;
  box-shadow: 0 16px 30px rgba(123, 2, 2, .18);
}

.accessibility-standard p,
.accessibility-limits p,
.accessibility-feedback p,
.accessibility-split__content p {
  margin: 14px 0 0;
  color: var(--accessibility-muted);
  font-size: 15.5px;
  line-height: 1.75;
}

/* Cards */

.accessibility-card {
  position: relative;
  overflow: hidden;
  min-height: 230px;
  padding: 24px;
  border: 1px solid var(--accessibility-border);
  border-radius: 24px;
  background: var(--accessibility-surface);
  box-shadow: 0 16px 38px rgba(0, 0, 0, .05);
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.accessibility-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 85% 0%, rgba(123, 2, 2, .08), transparent 34%);
  pointer-events: none;
}

.accessibility-card:hover {
  transform: translateY(-4px);
  border-color: rgba(123, 2, 2, .22);
  box-shadow: 0 22px 50px rgba(0, 0, 0, .08);
}

.accessibility-card__icon {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  margin-bottom: 20px;
  border-radius: 16px;
  color: #fff;
  background: var(--accessibility-primary);
  box-shadow: 0 12px 24px rgba(123, 2, 2, .18);
  font-size: 19px;
}

.accessibility-card h3,
.accessibility-band-card h3,
.accessibility-improve-item h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 9px;
  color: var(--accessibility-text);
  font-size: 18px;
  font-weight: 760;
  line-height: 1.3;
}

.accessibility-card p,
.accessibility-band-card p,
.accessibility-improve-item p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--accessibility-muted);
  font-size: 14.5px;
  line-height: 1.7;
}

/* Dark band */

.accessibility-band {
  padding: 74px 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(255, 255, 255, .14), transparent 30%),
    linear-gradient(135deg, #240000, #7b0202);
  color: #fff;
}

.accessibility-band__head {
  max-width: 760px;
  margin-bottom: 34px;
}

.accessibility-band h2,
.accessibility-cta h2 {
  color: #fff;
}

.accessibility-band__head p:last-child,
.accessibility-cta p {
  max-width: 740px;
  margin-top: 14px;
  color: rgba(255, 255, 255, .78);
  font-size: 16px;
  line-height: 1.7;
}

.accessibility-band-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.accessibility-band-card {
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 24px;
  background: rgba(255, 255, 255, .08);
}

.accessibility-band-card > div:first-child {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  margin-bottom: 18px;
  border-radius: 16px;
  color: var(--accessibility-primary);
  background: #fff;
  font-size: 20px;
}

.accessibility-band-card h3 {
  color: #fff;
}

.accessibility-band-card p {
  color: rgba(255, 255, 255, .76);
}

/* Improvements */

.accessibility-split {
  display: grid;
  grid-template-columns: .84fr 1.16fr;
  gap: 48px;
  align-items: start;
}

.accessibility-split__content {
  position: sticky;
  top: 100px;
}

.accessibility-improve-list {
  display: grid;
  gap: 14px;
}

.accessibility-improve-item {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 18px;
  padding: 22px;
  border: 1px solid var(--accessibility-border);
  border-radius: 22px;
  background: var(--accessibility-surface);
  box-shadow: 0 14px 36px rgba(0, 0, 0, .045);
}

.accessibility-improve-item__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 82px;
  height: 44px;
  border-radius: 999px;
  color: var(--accessibility-primary);
  background: var(--accessibility-primary-soft);
  font-size: 12px;
  font-weight: 446;
}

/* Limits */

.accessibility-limits {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 32px;
  align-items: center;
  padding: 30px;
  border: 1px solid var(--accessibility-border);
  border-radius: 26px;
  background: var(--accessibility-surface);
  box-shadow: 0 16px 38px rgba(0, 0, 0, .045);
}

.accessibility-limits p {
  margin: 0;
}

/* Feedback */

.accessibility-feedback {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 32px;
  border: 1px solid rgba(123, 2, 2, .16);
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(123, 2, 2, .075), transparent 60%),
    var(--accessibility-surface);
}

.accessibility-feedback-list {
  display: grid;
  gap: 10px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.accessibility-feedback-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--accessibility-muted);
  font-size: 14.5px;
  line-height: 1.55;
}

.accessibility-feedback-list i {
  margin-top: 3px;
  color: var(--accessibility-primary);
}

/* CTA */

.accessibility-cta {
  padding: 82px 0;
  background:
    radial-gradient(circle at 80% 20%, rgba(255, 255, 255, .14), transparent 30%),
    linear-gradient(135deg, #160000, #7b0202);
  text-align: center;
}

.accessibility-cta__inner {
  max-width: 740px;
  margin: 0 auto;
}

.accessibility-cta p {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 26px;
}

/* Responsive */

@media (max-width: 1199px) {
  .accessibility-card-grid--four {
    grid-template-columns: repeat(2, 1fr);
  }

  .accessibility-split {
    grid-template-columns: 1fr;
  }

  .accessibility-split__content {
    position: static;
  }
}

@media (max-width: 991px) {
  .accessibility-hero {
    padding: 78px 0 74px;
  }

  .accessibility-card-grid--three,
  .accessibility-band-grid {
    grid-template-columns: 1fr;
  }

  .accessibility-intro__box,
  .accessibility-limits,
  .accessibility-feedback {
    grid-template-columns: 1fr;
  }

  .accessibility-feedback .accessibility-btn {
    justify-self: start;
  }
}

@media (max-width: 767px) {
  .accessibility-hero {
    padding: 64px 0 70px;
  }

  .accessibility-section {
    padding: 62px 0;
  }

  .accessibility-hero__actions {
    flex-direction: column;
  }

  .accessibility-btn {
    width: 100%;
  }

  .accessibility-card-grid--four {
    grid-template-columns: 1fr;
  }

  .accessibility-intro {
    padding-bottom: 54px;
  }

  .accessibility-intro__box,
  .accessibility-standard,
  .accessibility-limits,
  .accessibility-feedback {
    padding: 24px;
    border-radius: 22px;
  }

  .accessibility-standard {
    grid-template-columns: 1fr;
  }

  .accessibility-improve-item {
    grid-template-columns: 1fr;
  }

  .accessibility-improve-item__label {
    width: fit-content;
    min-width: 70px;
  }
}

.sitemap-page {
  --sitemap-primary: #7b0202;
  --sitemap-primary-dark: #520101;
  --sitemap-primary-soft: rgba(123, 2, 2, .08);
  --sitemap-text: var(--sr-text, #171717);
  --sitemap-muted: var(--sr-text-muted);
  --sitemap-border: var(--sr-border, rgba(0, 0, 0, .1));
  --sitemap-surface: var(--sr-surface);
  --sitemap-surface-alt: var(--sr-surface-alt, #fafafa);
  --sitemap-link-bg: #fff;
  --sitemap-link-hover: rgba(123, 2, 2, .055);
  background: var(--sitemap-surface-alt);
  color: var(--sitemap-text);
}

.sitemap-page a {
  text-decoration: none;
}

.sitemap-header {
  position: relative;
  overflow: hidden;
  padding: 58px 0 40px;
  background:
    linear-gradient(180deg, rgba(123, 2, 2, .055), transparent 72%),
    var(--sitemap-surface);
  border-bottom: 1px solid var(--sitemap-border);
}

.sitemap-header__inner {
  max-width: 840px;
}

.sitemap-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  color: var(--sitemap-primary);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.sitemap-header h1 {
  margin: 0;
  color: var(--sitemap-text);
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 760;
  line-height: 1.12;
  letter-spacing: -.025em;
}

.sitemap-header p:not(.sitemap-kicker) {
  max-width: 680px;
  margin: 16px 0 0;
  color: var(--sitemap-muted);
  font-size: 15.5px;
  line-height: 1.75;
}

.sitemap-directory {
  padding: 38px 0 76px;
}

.sitemap-directory__layout {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 18px;
}

.sitemap-panel {
  grid-column: span 4;
  overflow: hidden;
  border: 1px solid var(--sitemap-border);
  border-radius: 18px;
  background: var(--sitemap-surface);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .045);
}

.sitemap-panel--compact {
  grid-column: span 4;
}

.sitemap-panel--wide {
  grid-column: span 6;
}

.sitemap-panel__head {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--sitemap-border);
  background:
    linear-gradient(135deg, rgba(123, 2, 2, .055), transparent 68%),
    var(--sitemap-surface);
}

.sitemap-panel__icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 12px;
  color: var(--sitemap-primary);
  background: var(--sitemap-primary-soft);
  font-size: 15px;
}

.sitemap-panel__head h2 {
  margin: 0;
  color: var(--sitemap-text);
  font-size: 15px;
  font-weight: 760;
  line-height: 1.3;
}

.sitemap-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 8px;
  list-style: none;
}

.sitemap-list--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 4px;
}

.sitemap-list--columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 4px;
}

.sitemap-list li {
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sitemap-list a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 9px 10px;
  border-radius: 11px;
  color: var(--sitemap-text);
  font-size: 13.5px;
  line-height: 1.35;
  transition:
    background .18s ease,
    color .18s ease,
    transform .18s ease;
}

.sitemap-list a:hover,
.sitemap-list a:focus {
  color: var(--sitemap-primary);
  background: var(--sitemap-link-hover);
  transform: translateX(2px);
  text-decoration: none;
}

.sitemap-list a:focus-visible {
  outline: 3px solid rgba(123, 2, 2, .2);
  outline-offset: 2px;
}

.sitemap-list i {
  width: 18px;
  flex: 0 0 18px;
  color: var(--sitemap-primary);
  font-size: 13px;
  text-align: center;
}

.sitemap-list span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.sitemap-list--countries {
  max-height: 440px;
  overflow: auto;
  padding-right: 10px;
}

.sitemap-list--countries::-webkit-scrollbar {
  width: 8px;
}

.sitemap-list--countries::-webkit-scrollbar-track {
  background: transparent;
}

.sitemap-list--countries::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(123, 2, 2, .2);
}

@media (max-width: 1199px) {
  .sitemap-panel,
  .sitemap-panel--compact,
  .sitemap-panel--wide {
    grid-column: span 6;
  }

  .sitemap-list--two,
  .sitemap-list--columns {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .sitemap-header {
    padding: 46px 0 34px;
  }

  .sitemap-directory {
    padding: 26px 0 58px;
  }

  .sitemap-panel,
  .sitemap-panel--compact,
  .sitemap-panel--wide {
    grid-column: span 12;
    border-radius: 16px;
  }

  .sitemap-panel__head {
    min-height: 58px;
    padding: 14px 15px;
  }

  .sitemap-list {
    padding: 7px;
  }

  .sitemap-list a {
    min-height: 42px;
    font-size: 13.5px;
  }

  .sitemap-list--countries {
    max-height: none;
    overflow: visible;
  }
}

.coverage-page {
  --coverage-primary: #7b0202;
  --coverage-primary-dark: #520101;
  --coverage-primary-soft: rgba(123, 2, 2, .08);
  --coverage-text: var(--sr-text, #171717);
  --coverage-muted: var(--sr-text-muted);
  --coverage-border: var(--sr-border, rgba(0, 0, 0, .1));
  --coverage-surface: var(--sr-surface);
  --coverage-surface-alt: var(--sr-surface-alt, #fafafa);
  --coverage-card: #fff;
  --coverage-card-hover: rgba(123, 2, 2, .045);
  background: var(--coverage-surface-alt);
  color: var(--coverage-text);
}

.coverage-page a {
  text-decoration: none;
}

/* Breadcrumb */

.coverage-breadcrumb-wrap {
  padding: 18px 0;
  background: var(--coverage-surface);
  border-bottom: 1px solid var(--coverage-border);
}

.coverage-breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.coverage-breadcrumb li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--coverage-muted);
  font-size: 13px;
  font-weight: 600;
}

.coverage-breadcrumb li + li::before {
  content: "/";
  color: rgba(0, 0, 0, .28);
  margin-right: 2px;
}

.coverage-breadcrumb a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--coverage-primary);
  font-weight: 700;
}

.coverage-breadcrumb a:hover {
  color: var(--coverage-primary-dark);
}

/* Header */

.coverage-header {
  padding: 54px 0 46px;
  background:
    linear-gradient(180deg, rgba(123, 2, 2, .06), transparent 75%),
    var(--coverage-surface);
  border-bottom: 1px solid var(--coverage-border);
}

.coverage-header__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
}

.coverage-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  color: var(--coverage-primary);
  font-size: 11px;
  font-weight: 573;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.coverage-header h1 {
  max-width: 780px;
  margin: 0;
  color: var(--coverage-text);
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 760;
  line-height: 1.12;
  letter-spacing: -.025em;
}

.coverage-header p:not(.coverage-kicker) {
  max-width: 760px;
  margin: 16px 0 0;
  color: var(--coverage-muted);
  font-size: 15.5px;
  line-height: 1.75;
}

.coverage-count {
  display: grid;
  place-items: center;
  min-width: 136px;
  min-height: 136px;
  padding: 20px;
  border: 1px solid rgba(123, 2, 2, .16);
  border-radius: 28px;
  background:
    radial-gradient(circle at 80% 0%, rgba(123, 2, 2, .1), transparent 42%),
    var(--coverage-card);
  box-shadow: 0 16px 38px rgba(0, 0, 0, .055);
  text-align: center;
}

.coverage-count span {
  display: block;
  color: var(--coverage-primary);
  font-size: 34px;
  font-weight: 573;
  line-height: 1;
}

.coverage-count small {
  display: block;
  max-width: 96px;
  margin-top: 8px;
  color: var(--coverage-muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
}

/* Directory */

.coverage-directory {
  padding: 40px 0 74px;
}

.coverage-directory__head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.coverage-directory__head h2 {
  margin: 0;
  color: var(--coverage-text);
  font-size: 18px;
  font-weight: 760;
  line-height: 1.3;
  white-space: nowrap;
}

.coverage-directory__line {
  height: 1px;
  flex: 1;
  background: var(--coverage-border);
}

.coverage-country-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.coverage-country-card {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 58px;
  padding: 12px 14px;
  border: 1px solid var(--coverage-border);
  border-radius: 16px;
  background: var(--coverage-card);
  box-shadow: 0 10px 26px rgba(0, 0, 0, .04);
  transition:
    transform .18s ease,
    border-color .18s ease,
    background .18s ease,
    box-shadow .18s ease;
}

.coverage-country-card:hover {
  transform: translateY(-2px);
  border-color: rgba(123, 2, 2, .22);
  background: var(--coverage-card-hover);
  box-shadow: 0 16px 34px rgba(0, 0, 0, .07);
}

.coverage-country-card__flag {
  display: grid;
  place-items: center;
  width: 42px;
  height: 32px;
  flex: 0 0 42px;
  overflow: hidden;
  border: 1px solid var(--coverage-border);
  border-radius: 9px;
  background: var(--coverage-surface-alt);
}

.coverage-country-card__flag img {
  display: block;
  max-width: 34px;
  height: auto;
  object-fit: cover;
}

.coverage-country-card__name {
  min-width: 0;
  color: var(--coverage-text);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

/* CTA */

.coverage-cta {
  padding: 0 0 78px;
}

.coverage-cta__box {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 18px;
  align-items: center;
  padding: 26px;
  border: 1px solid rgba(123, 2, 2, .16);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(123, 2, 2, .075), transparent 65%),
    var(--coverage-surface);
  box-shadow: 0 16px 40px rgba(0, 0, 0, .05);
}

.coverage-cta__icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  color: #fff;
  background: var(--coverage-primary);
  box-shadow: 0 14px 26px rgba(123, 2, 2, .2);
  font-size: 22px;
}

.coverage-cta h2 {
  margin: 0;
  color: var(--coverage-text);
  line-height: 1.2;
  letter-spacing: -.02em;
}

/* Responsive */

@media (max-width: 1199px) {
  .coverage-country-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .coverage-header__inner {
    grid-template-columns: 1fr;
  }

  .coverage-count {
    min-width: 100%;
    min-height: auto;
    display: flex;
    justify-content: flex-start;
    gap: 10px;
    text-align: left;
  }

  .coverage-count small {
    max-width: none;
    margin-top: 0;
  }

  .coverage-country-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .coverage-header {
    padding: 44px 0 38px;
  }

  .coverage-directory {
    padding: 30px 0 58px;
  }

  .coverage-country-grid {
    grid-template-columns: 1fr;
  }

  .coverage-cta {
    padding-bottom: 58px;
  }

  .coverage-cta__box {
    grid-template-columns: 1fr;
    padding: 24px;
  }
}


.sr-errors-page {
  --err-primary: #7b0202;
  --err-primary-dark: #520101;
  --err-primary-soft: rgba(123, 2, 2, .08);
  --err-text: var(--ads-text, #171717);
  --err-muted: var(--ads-muted, #6d6d6d);
  --err-border: var(--ads-border, rgba(0, 0, 0, .1));
  --err-surface: var(--ads-surface);
  --err-surface-alt: var(--ads-surface-alt, #fafafa);
  --err-card: #fff;
  --err-row-hover: rgba(123, 2, 2, .035);
  padding-bottom: 36px;
  color: var(--err-text);
}

.sr-errors-topbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
  padding: 22px;
  border: 1px solid var(--err-border);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(123, 2, 2, .06), transparent 58%),
    var(--err-card);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .045);
}

.sr-errors-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--err-primary);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sr-errors-topbar h1 {
  margin: 0;
  color: var(--err-text);
  line-height: 1.15;
  letter-spacing: -.025em;
}

.sr-errors-topbar p {
  max-width: 720px;
  margin: 10px 0 0;
  color: var(--err-muted);
  font-size: 14.5px;
  line-height: 1.65;
}

.sr-errors-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.sr-error-stat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 94px;
  padding: 18px;
  border: 1px solid var(--err-border);
  border-radius: 18px;
  background: var(--err-card);
  color: var(--err-text);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .04);
  text-decoration: none;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background .18s ease;
}

.sr-error-stat:hover {
  transform: translateY(-2px);
  border-color: rgba(123, 2, 2, .22);
  background: var(--err-row-hover);
  color: var(--err-text);
  text-decoration: none;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .07);
}

.sr-error-stat span {
  color: var(--err-muted);
  font-size: 12px;
  font-weight: 573;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.sr-error-stat strong {
  color: var(--err-text);
  font-size: 20px;
  font-weight: 760;
  line-height: 1;
}

.sr-error-stat--critical strong {
  color: #b42318;
}

.sr-error-stat--error strong {
  color: #c2410c;
}

.sr-error-stat--open strong {
  color: var(--err-primary);
}

.sr-errors-alert {
  border-radius: 16px;
  margin-bottom: 18px;
}

.sr-errors-empty {
  display: grid;
  place-items: center;
  gap: 8px;
  min-height: 260px;
  padding: 36px;
  border: 1px dashed rgba(123, 2, 2, .24);
  border-radius: 20px;
  background: var(--err-card);
  text-align: center;
}

.sr-errors-empty i {
  color: var(--err-primary);
  font-size: 30px;
  margin-bottom: 8px;
}

.sr-errors-empty p {
  max-width: 620px;
  margin: 0;
  color: var(--err-muted);
  font-size: 14.5px;
  line-height: 1.65;
}

.sr-errors-filter-card,
.sr-errors-panel {
  border: 1px solid var(--err-border);
  border-radius: 20px;
  background: var(--err-card);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .045);
}

.sr-errors-filter-card {
  margin-bottom: 18px;
  padding: 18px;
}

.sr-errors-filter-form {
  display: grid;
  gap: 14px;
}

.sr-errors-filter-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(140px, 1fr));
  gap: 10px;
}

.sr-errors-filter-search {
  grid-column: span 2;
}

.sr-errors-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.sr-errors-filter-card .form-control,
.sr-errors-filter-card .form-select,
.sr-errors-bulkbar .form-control {
  min-height: 42px;
  border-radius: 12px;
  border-color: var(--err-border);
  color: var(--err-text);
  background-color: var(--err-surface);
  font-size: 13.5px;
}

.sr-errors-panel {
  overflow: hidden;
}

.sr-errors-bulkbar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--err-border);
  background:
    linear-gradient(135deg, rgba(123, 2, 2, .04), transparent 62%),
    var(--err-card);
}

.sr-errors-bulkbar__select {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  min-width: 220px;
}

.sr-errors-bulkbar__select label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--err-text);
}

.sr-errors-bulkbar__select span,
#selectedErrorLabel {
  color: var(--err-muted);
}

.sr-errors-bulkbar__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.sr-errors-bulkbar__actions .form-control {
  width: 220px;
}

.sr-errors-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.sr-errors-table {
  width: 100%;
  min-width: 1120px;
  margin: 0;
  color: var(--err-text);
  table-layout: fixed;
}

.sr-errors-col-check { width: 44px; }
.sr-errors-col-id { width: 92px; }
.sr-errors-col-severity { width: 132px; }
.sr-errors-col-message { width: auto; }
.sr-errors-col-source { width: 220px; }
.sr-errors-col-status { width: 126px; }
.sr-errors-col-created { width: 168px; }
.sr-errors-col-action { width: 176px; }

.sr-errors-table thead th {
  padding: 0;
  border-bottom: 1px solid var(--err-border);
  background: var(--err-surface-alt);
  color: var(--err-muted);
  vertical-align: middle;
  white-space: nowrap;
}

.sr-errors-table thead th.sr-errors-action-col {
  padding: 12px;
}

.sr-errors-table th,
.sr-errors-table td {
  border-color: var(--err-border);
}

.sr-errors-table tbody td {
  padding: 15px 12px;
  color: var(--err-text);
  font-size: 13.5px;
  vertical-align: top;
}

.sr-errors-table tbody tr {
  transition: background .16s ease;
}

.sr-errors-table tbody tr:hover {
  background: var(--err-row-hover);
}

.sr-errors-check-col {
  width: 44px;
  min-width: 44px;
  text-align: center;
}

.sr-errors-action-col {
  text-align: right;
}

.sr-sort-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  padding: 12px;
  border: 0;
  background: transparent;
  color: var(--err-muted);
  line-height: 1.25;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: .04em;
  cursor: pointer;
  white-space: nowrap;
}

.sr-sort-btn:hover,
.sr-sort-btn.is-active {
  color: var(--err-primary);
  background: rgba(123, 2, 2, .045);
}

.sr-sort-btn i {
  font-size: 11px;
  opacity: .8;
}

.sr-error-stack {
  display: grid;
  gap: 6px;
}

.sr-error-message {
  min-width: 300px;
  max-width: 520px;
}

.sr-error-message__text {
  display: block;
  color: var(--err-text);
  line-height: 1.55;
}

.sr-error-meta {
  display: block;
  margin-top: 4px;
  color: var(--err-muted);
  font-size: 12px;
  line-height: 1.45;
}

.sr-error-source {
  display: inline-block;
  max-width: 230px;
  overflow: hidden;
  color: var(--err-primary);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sr-row-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  white-space: nowrap;
  width: 100%;
}

.sr-errors-pagination {
  margin-top: 16px;
}

/* Link hover colour sweep
   Keep button-like anchors and action links from inheriting generic link states. */
a.main-btn:hover,
a.grey-btn:hover,
a.co-main-btn:hover,
a.create-btn:hover,
a.offcanvas-create-btn:hover,
a.ads-btn:hover,
a.sr-btn:hover,
a.pricing-btn:hover,
a.sell-btn:hover,
a.feat-btn:hover,
a.legal-contact-btn:hover,
a.contact-channel-cta:hover,
a.contact-biz__cta:hover,
a.partner-ref-copy-btn:hover,
a.pp-contact-btn:hover,
a.app-dl-store-btn:hover,
a.auth-submit:hover,
a.careers-btn:hover,
a.security-btn:hover,
a.accessibility-btn:hover,
a.sr-invoice-btn:hover,
a.action-btn:hover,
a.notif-btn:hover,
a.login-btn:hover,
a.btn-outline-like:hover {
  text-decoration: none;
}

/* Link 
a.main-btn:hover,
a.main-btn:visited,
a.create-btn:hover,
a.create-btn:visited,
a.offcanvas-create-btn:hover,
a.offcanvas-create-btn:visited,
a.ads-btn--primary:hover,
a.ads-btn--primary:visited,
a.sr-btn-primary:hover,
a.sr-btn-primary:visited,
a.pricing-btn--primary:hover,
a.pricing-btn--primary:visited,
a.sell-btn.primary:hover,
a.sell-btn.primary:visited,
a.feat-btn-primary:hover,
a.feat-btn-primary:visited,
a.contact-biz__cta:hover,
a.contact-biz__cta:visited,
a.app-dl-store-btn:hover,
a.app-dl-store-btn:visited,
a.auth-submit:hover,
a.auth-submit:visited,
a.careers-btn--primary:hover,
a.careers-btn--primary:visited,
a.security-btn--primary:hover,
a.security-btn--primary:visited,
a.accessibility-btn--primary:hover,
a.accessibility-btn--primary:visited,
a.sr-invoice-btn.primary:hover,
a.sr-invoice-btn.primary:visited,
a.action-btn.primary:hover,
a.action-btn.primary:visited {
  color: #fff;
}
 */

a.ads-btn--secondary:hover,
a.ads-btn--secondary:visited,
a.sr-btn-secondary:hover,
a.sr-btn-secondary:visited,
a.pricing-btn--secondary:hover,
a.pricing-btn--secondary:visited,
a.sell-btn.secondary:hover,
a.sell-btn.secondary:visited,
a.partner-ref-copy-btn:hover,
a.partner-ref-copy-btn:visited {
  color: var(--sr-primary-hover);
}
 

a.title-view-link:hover,
a.view-all-link:hover,
a.a-link:hover,
a.ea-link-btn:hover,
a.ads-hero__back:hover,
.ads-table td a:hover,
.ads-facts a:hover,
a.legal-related-link:hover,
.app-dl-links a:hover,
a.auth-forgot:hover,
.auth-footer-link a:hover,
.auth-agree a:hover,
.pp-login-prompt a:hover,
.pp-login-prompt__link:hover {
  color: var(--sr-primary-hover, #5e0101);
}

.footer a.footer-link:hover,
.footer a.footer-policy-link:hover,
.footer a.footer-sitemap-link:hover,
.footer-content > .social-links li > .social-link:hover,
.footer-app-badge:hover {
  color: #fff;
}

html.night-mode a.ads-btn--secondary:hover,
html.night-mode a.sr-btn-secondary:hover,
html.night-mode a.pricing-btn--secondary:hover,
html.night-mode a.sell-btn.secondary:hover,
html.night-mode a.partner-ref-copy-btn:hover,
html.night-mode a.title-view-link:hover,
html.night-mode a.view-all-link:hover,
html.night-mode a.a-link:hover,
html.night-mode a.ea-link-btn:hover,
html.night-mode a.ads-hero__back:hover,
html.night-mode .ads-table td a:hover,
html.night-mode .ads-facts a:hover,
html.night-mode a.legal-related-link:hover,
html.night-mode .app-dl-links a:hover,
html.night-mode a.auth-forgot:hover,
html.night-mode .auth-footer-link a:hover,
html.night-mode .auth-agree a:hover,
html.night-mode .pp-login-prompt a:hover,
html.night-mode .pp-login-prompt__link:hover {
  color: #ffb3b3;
}

@media (max-width: 1399px) {
  .sr-errors-filter-grid {
    grid-template-columns: repeat(4, minmax(140px, 1fr));
  }

  .sr-errors-filter-search {
    grid-column: span 2;
  }
}

@media (max-width: 1199px) {
  .sr-errors-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sr-errors-bulkbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .sr-errors-bulkbar__actions {
    justify-content: flex-start;
  }

}

@media (max-width: 767px) {
  .sr-errors-topbar {
    flex-direction: column;
    padding: 18px;
  }

  .sr-errors-stats {
    grid-template-columns: 1fr;
  }

  .sr-error-stat {
    min-height: 82px;
  }

  .sr-errors-filter-grid {
    grid-template-columns: 1fr;
  }

  .sr-errors-filter-search {
    grid-column: auto;
  }

  .sr-errors-bulkbar__actions .form-control {
    width: 100%;
  }

  .sr-errors-bulkbar__actions,
  .sr-errors-filter-actions {
    width: 100%;
  }

  .sr-errors-bulkbar__actions .ads-btn,
  .sr-errors-filter-actions .ads-btn {
    flex: 1 1 auto;
  }
}
/* Admin attention operations */
.admin-attention-hero {
	background: linear-gradient(135deg, #19130d, #9a3f12);
	color: #fff;
	border-radius: 22px;
	padding: 28px;
	margin-bottom: 22px;
}

.admin-attention-hero h1 {
	margin: 0 0 8px;
	font-weight: 600;
  color: #fff;
}

.admin-attention-hero p {
	margin: 0;
	color: rgba(255, 255, 255, .82);
}

.admin-attention-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 22px;
}

.admin-attention-card,
.admin-attention-panel {
	background: #fff;
	border: 1px solid #eadbcf;
}

.admin-attention-card {
	border-radius: 16px;
	padding: 18px;
	box-shadow: 0 10px 28px rgba(34, 24, 17, .06);
}

.admin-attention-card span {
	display: block;
	color: #795846;
	font-size: 12px;
	font-weight: 580;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.admin-attention-card strong {
	display: block;
	color: #15110e;
	font-size: 30px;
	line-height: 1.1;
	margin-top: 6px;
}

.admin-attention-panel {
	border-radius: 18px;
	padding: 22px;
	margin-bottom: 22px;
}

.admin-attention-panel h2 {
	font-size: 22px;
	margin: 0 0 8px;
}

.admin-attention-note {
	background: #fff7ed;
	border: 1px solid #fed7aa;
	border-radius: 14px;
	padding: 14px 16px;
	color: #7c2d12;
	margin-bottom: 18px;
}

.admin-attention-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 8px;
}

.admin-attention-actions .btn {
	min-height: 32px;
	padding: 6px 10px;
	font-size: 12px;
}

.admin-attention-output {
	background: #111827;
	color: #d1fae5;
	border-radius: 12px;
	padding: 16px;
	max-height: 440px;
	overflow: auto;
	white-space: pre-wrap;
	font-size: 13px;
}

.admin-attention-table td {
	vertical-align: top;
}

.admin-attention-table code {
	white-space: normal;
}

@media (max-width: 991px) {
	.admin-attention-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 575px) {
	.admin-attention-grid {
		grid-template-columns: 1fr;
	}
}
/* Crypto payments */
.crypto-method-shell,
.crypto-status-shell {
  max-width: 1080px;
  padding: 40px 16px;
}

.crypto-method-shell--choice {
  padding-top: 46px;
  padding-bottom: 58px;
}

.crypto-method-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 28px;
  align-items: stretch;
  background:
    linear-gradient(135deg, rgba(110, 0, 0, 0.07), rgba(255, 255, 255, 0) 42%),
    #ffffff;
  border: 1px solid #edf0f4;
  border-radius: 18px;
  box-shadow: 0 22px 70px rgba(17, 24, 39, 0.11);
  padding: 26px;
  position: relative;
  overflow: hidden;
}

.crypto-method-panel:before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #6e0000, #c68b2f, #111827);
}

.crypto-method-panel__main {
  min-width: 0;
  padding: 10px 0;
}

.crypto-method-header {
  max-width: 620px;
  margin-bottom: 28px;
}

.crypto-method-header h1,
.crypto-status-card h1 {
  color: #111827;
  font-size: 26px;
  line-height: 1.08;
  font-weight: 655;
  letter-spacing: 0;
  margin: 0 0 12px;
}

.crypto-method-header p,
.crypto-status-body {
  color: #5f6671;
  margin: 0;
  font-size: 15px;
  line-height: 1.65;
}

.crypto-order-summary,
.crypto-status-card {
  background: #fff;
  border: 1px solid #e6e8ed;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 18px;
}

.crypto-method-panel .crypto-order-summary {
  display: flex;
  flex-direction: column;
  margin: 0;
  border-color: rgba(110, 0, 0, 0.14);
  border-radius: 16px;
  background:
    radial-gradient(circle at top right, rgba(198, 139, 47, 0.16), transparent 42%),
    #fffaf8;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
  padding: 24px;
}

.crypto-order-summary__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: #6e0000;
  color: #fff;
  margin-bottom: 18px;
  box-shadow: 0 12px 24px rgba(110, 0, 0, 0.22);
}

.crypto-order-summary__image {
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 14px;
  overflow: hidden;
  background: #f3f4f6;
  margin: 0 0 18px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.1);
}

.crypto-order-summary__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.crypto-order-summary h2 {
  color: #111827;
  font-size: 22px;
  line-height: 1.25;
  font-weight: 655;
  letter-spacing: 0;
  margin: 0 0 20px;
}

.crypto-order-summary dl,
.crypto-status-details {
  display: grid;
  gap: 12px;
  margin: 0;
}

.crypto-order-summary dl div,
.crypto-status-details div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.crypto-method-panel .crypto-order-summary dl {
  gap: 0;
  margin-top: 4px;
  border-top: 1px solid rgba(110, 0, 0, 0.12);
}

.crypto-method-panel .crypto-order-summary dl div {
  padding: 15px 0;
  border-bottom: 1px solid rgba(110, 0, 0, 0.1);
}

.crypto-method-panel .crypto-order-summary dl div:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.crypto-order-summary__amount dd {
  color: #6e0000;
  font-size: 24px;
  line-height: 1.1;
}

.crypto-order-summary dt,
.crypto-status-details dt {
  color: #6b7280;
  font-size: 12px;
  font-weight: 448;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.crypto-order-summary dd,
.crypto-status-details dd {
  margin: 0;
  color: #111827;
  font-weight: 448;
  text-align: right;
  overflow-wrap: anywhere;
}

.crypto-method-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.crypto-method-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  min-height: 104px;
  padding: 20px;
  border: 1px solid #e2e7ef;
  border-radius: 14px;
  color: #1f2937;
  background: #fff;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;
}

.crypto-method-card:hover {
  border-color: #6e0000;
  color: #6e0000;
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(110, 0, 0, 0.12);
  text-decoration: none;
}

.crypto-method-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: #f5f6f8;
  color: #6e0000;
  font-size: 22px;
}

.crypto-method-card--primary .crypto-method-card__icon {
  background: #6e0000;
  color: #fff;
}

.crypto-method-card__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 5px;
}

.crypto-method-card__body > span {
  color: #111827;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 655;
}

.crypto-method-card__body small {
  color: #6b7280;
  font-size: 13px;
  line-height: 1.45;
}

.crypto-method-card__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #f3f4f6;
  color: #111827;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}

.crypto-method-card:hover .crypto-method-card__arrow {
  background: #6e0000;
  color: #fff;
  transform: translateX(2px);
}

.crypto-method-card--primary {
  border-color: rgba(110, 0, 0, 0.32);
}

.crypto-status-card {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.crypto-status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 580;
  margin-bottom: 12px;
}

.crypto-status-badge--pending {
  background: #fff7df;
  color: #8a5a00;
}

.crypto-status-badge--paid {
  background: #e8f7ee;
  color: #116b36;
}

.crypto-status-badge--review {
  background: #eef2ff;
  color: #3730a3;
}

.crypto-status-badge--failed {
  background: #fdecec;
  color: #a11f1f;
}

.crypto-status-actions {
    margin-top: 18px;
}

.crypto-payment-form {
    display: grid;
    gap: 12px;
    margin-top: 18px;
    max-width: 360px;
}

.crypto-payment-form label {
    font-weight: 700;
    margin: 0;
}

.crypto-select-shell {
    margin-inline: auto;
    max-width: 1120px;
    padding: 56px 0 64px;
    width: min(1120px, calc(100% - 32px));
}

.crypto-select-page .wrapper-body {
    min-height: calc(100vh - 92px);
}

.crypto-select-layout {
    display: grid;
    grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.crypto-booking-panel,
.crypto-select-panel {
    background: #fff;
    border: 1px solid #e6e8ed;
    border-radius: 8px;
    box-shadow: 0 12px 32px rgba(17, 24, 39, 0.08);
    padding: 22px;
}

.crypto-booking-panel {
    position: sticky;
    top: 92px;
}

.crypto-booking-panel h1,
.crypto-select-header h2 {
    font-size: 24px;
    line-height: 1.2;
    margin: 0;
}

.crypto-booking-panel dl {
    display: grid;
    gap: 16px;
    margin: 20px 0 0;
}

.crypto-booking-panel dt {
    color: #6b7280;
    font-size: 13px;
    font-weight: 580;
    text-transform: uppercase;
}

.crypto-booking-panel dd {
    color: #111827;
    font-weight: 580;
    margin: 4px 0 0;
    overflow-wrap: anywhere;
}

.crypto-select-header {
    display: grid;
    gap: 16px;
    margin-bottom: 18px;
}

.crypto-select-search {
    align-items: center;
    border: 1px solid #d9dde5;
    border-radius: 8px;
    display: grid;
    gap: 10px;
    grid-template-columns: auto 1fr;
    min-height: 48px;
    padding: 0 14px;
}

.crypto-select-search i {
    color: #6b7280;
}

.crypto-select-search input {
    border: 0;
    min-width: 0;
    outline: 0;
}

.crypto-select-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 12px;
    max-height: 430px;
    overflow: auto;
    padding-right: 6px;
}

.crypto-coin-option {
    align-items: center;
    border: 1px solid #e6e8ed;
    border-radius: 8px;
    cursor: pointer;
    display: grid;
    gap: 12px;
    grid-template-columns: 42px minmax(0, 1fr);
    margin: 0;
    min-height: 72px;
    padding: 12px;
}

.crypto-coin-option:hover,
.crypto-coin-option.is-selected,
.crypto-coin-option:has(input:checked) {
    border-color: #5e2121;
    box-shadow: 0 0 0 2px rgba(94, 33, 33, 0.08);
}

.crypto-coin-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.crypto-coin-option__icon {
    align-items: center;
    background: #f8fafc;
    border-radius: 999px;
    display: inline-flex;
    height: 42px;
    justify-content: center;
    overflow: hidden;
    width: 42px;
}

.crypto-coin-option__icon img {
    display: block;
    height: 32px;
    width: 32px;
}

.crypto-coin-option__icon--fallback::before {
    color: #5e2121;
    content: "C";
    font-size: 22px;
    font-weight: 749;
}

.crypto-coin-option__text {
    display: grid;
    min-width: 0;
}

.crypto-coin-option__text strong,
.crypto-coin-option__text small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.crypto-coin-option__text strong {
    color: var(--sr-primary);
    font-size: 15px;
}

.crypto-coin-option__text small {
    color: #6b7280;
    font-weight: 580;
}

.crypto-no-results {
    color: #6b7280;
    font-weight: 700;
    margin: 16px 0 0;
}

.crypto-select-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 18px;
}

.crypto-pay-address {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.crypto-payment-shell {
    max-width: 1120px;
    padding: 32px 16px;
}

.crypto-payment-panel {
    background: #fff;
    border: 1px solid #e6e8ed;
    border-radius: 8px;
    box-shadow: 0 12px 32px rgba(17, 24, 39, 0.08);
    padding: 24px;
}

.crypto-payment-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.crypto-payment-header h1 {
    font-size: 28px;
    line-height: 1.2;
    margin: 10px 0 0;
}

.crypto-payment-timer {
    display: grid;
    gap: 4px;
    min-width: 150px;
    border: 1px solid #e6e8ed;
    border-radius: 8px;
    padding: 12px 14px;
    text-align: right;
}

.crypto-payment-timer span {
    color: #6b7280;
    font-size: 13px;
    font-weight: 700;
}

.crypto-payment-timer strong {
    color: #5e2121;
    font-size: 28px;
    line-height: 1;
}

.crypto-payment-grid {
    display: grid;
    grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.crypto-payment-qr,
.crypto-payment-main,
.crypto-payment-details {
    border: 1px solid #e6e8ed;
    border-radius: 8px;
    padding: 18px;
}

.crypto-payment-qr {
    display: grid;
    justify-items: center;
    gap: 16px;
}

.crypto-payment-qr h2,
.crypto-payment-details h2 {
    font-size: 18px;
    line-height: 1.2;
    margin: 0;
}

.crypto-payment-qr img,
.crypto-payment-qr__empty {
    width: min(100%, 260px);
    aspect-ratio: 1;
}

.crypto-payment-qr img {
    display: block;
    border: 10px solid #fff;
    border-radius: 8px;
    box-shadow: 0 0 0 1px #e6e8ed;
}

.crypto-payment-qr__empty {
    display: grid;
    place-items: center;
    background: #f3f4f6;
    border-radius: 8px;
    color: #6b7280;
    font-size: 56px;
}

.crypto-payment-main {
    display: grid;
    gap: 16px;
}

.crypto-payment-send {
    display: grid;
    gap: 6px;
    border-bottom: 1px solid #e6e8ed;
    padding-bottom: 16px;
}

.crypto-payment-send__label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.crypto-payment-send__label > span,
.crypto-payment-field__label span {
    color: #6b7280;
    font-size: 13px;
    font-weight: 580;
    text-transform: uppercase;
}

.crypto-payment-send strong {
    color: #111827;
    font-size: clamp(26px, 4vw, 42px);
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.crypto-payment-field {
    display: grid;
    gap: 8px;
}

.crypto-payment-field__label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.crypto-payment-value {
    background: #f8fafc;
    border: 1px solid #e6e8ed;
    border-radius: 8px;
    color: #111827;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 15px;
    line-height: 1.45;
    overflow-wrap: anywhere;
    padding: 12px;
    word-break: break-word;
}

.crypto-payment-note {
    color: #5f6671;
    font-size: 13px;
    margin: 0;
}

.crypto-copy-btn {
    align-items: center;
    background: #fff;
    border: 1px solid #d9dde5;
    border-radius: 8px;
    color: #111827;
    display: inline-flex;
    font-weight: 580;
    gap: 7px;
    min-height: 36px;
    padding: 7px 12px;
}

.crypto-copy-btn:hover {
    border-color: #5e2121;
    color: #5e2121;
}

.crypto-payment-details {
    margin-top: 24px;
}

.crypto-payment-details dl {
    display: grid;
    gap: 12px;
    margin: 16px 0;
}

.crypto-payment-details dl div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

.crypto-payment-details dt {
    color: #6b7280;
    font-weight: 700;
}

.crypto-payment-details dd {
    margin: 0;
    text-align: right;
    overflow-wrap: anywhere;
}

.crypto-admin-flag {
    display: grid;
    gap: 14px;
}

.crypto-admin-flag__control {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.crypto-admin-flag__control input {
  margin-top: 4px;
}

.crypto-admin-flag__control small {
  display: block;
  color: #6b7280;
}

.crypto-admin-warnings {
  margin: 0;
  padding-left: 20px;
  color: #8a5a00;
}

.ads-pay-btn--secondary {
  margin-top: 10px;
  background: #1f2937;
}

.sr-hidden {
  display: none !important;
}

@media (max-width: 767px) {
  .crypto-method-shell {
    padding: 24px 14px 40px;
  }

  .crypto-method-panel {
    grid-template-columns: 1fr;
    padding: 18px;
    border-radius: 14px;
  }

  .crypto-method-header h1,
  .crypto-status-card h1 {
    font-size: 28px;
  }

  .crypto-method-grid {
    grid-template-columns: 1fr;
  }

  .crypto-order-summary dl div,
  .crypto-status-details div {
    display: block;
  }

  .crypto-order-summary dd,
  .crypto-status-details dd {
    text-align: left;
    margin-top: 4px;
  }

  .crypto-order-summary__amount dd {
    font-size: 22px;
  }

  .crypto-method-card {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .crypto-method-card__arrow {
    display: none;
  }

  .crypto-payment-panel {
    padding: 18px;
  }

  .crypto-payment-header,
  .crypto-payment-details dl div {
    display: block;
  }

  .crypto-payment-timer {
    margin-top: 14px;
    text-align: left;
  }

  .crypto-payment-grid {
    grid-template-columns: 1fr;
  }

  .crypto-payment-details dd {
    text-align: left;
    margin-top: 4px;
  }

  .crypto-payment-field__label {
    align-items: flex-start;
    flex-direction: column;
  }

  .crypto-payment-send__label {
    align-items: flex-start;
    flex-direction: column;
  }

  .crypto-select-layout {
    grid-template-columns: 1fr;
  }

  .crypto-select-shell {
    padding: 24px 0 40px;
    width: min(100% - 24px, 1120px);
  }

  .crypto-booking-panel {
    position: static;
  }

  .crypto-select-grid {
    grid-template-columns: 1fr;
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }

  .crypto-select-actions {
    justify-content: stretch;
  }

  .crypto-select-actions .sr-btn {
    justify-content: center;
    width: 100%;
  }
}
/* How it works page */
.hiw-page {
  --hiw-red: #e94957;
  --hiw-red-deep: #7a0916;
  --hiw-gold: #e8b14a;
  --hiw-teal: #2e8c8c;
  --hiw-cream: #fbf4e8;
  --hiw-ink: #181418;
  --hiw-muted: #665b60;
  --hiw-line: rgba(24, 20, 24, .12);
  --hiw-panel: #ffffff;
  --hiw-panel-strong: #fff8ef;
  background: #fbf4e8;
  color: var(--hiw-ink);
  overflow-x: hidden;
}

html:has(body.hiw-page) {
  overflow-x: hidden;
}

.hiw-page .footer {
  flex-shrink: 0;
  margin-top: 0;
}

body.hiw-page .sr-cart-drawer:not(.is-open) {
  display: none;
}

.hiw-stage {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  flex: 1 0 auto;
  width: 100%;
  background: #fbf4e8;
}

.hiw-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: radial-gradient(rgba(24, 20, 24, .045) 1px, transparent 1.4px);
  background-size: 22px 22px;
  mask-image: linear-gradient(to bottom, transparent 0%, #000 18%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 18%, transparent 100%);
}

.hiw-shell {
  width: min(100%, 1280px);
  margin: 0 auto;
  padding: 0 40px;
}

.hiw-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 76px 0 82px;
  background:
    radial-gradient(55% 70% at 85% 20%, rgba(233, 73, 87, .32), transparent 65%),
    radial-gradient(50% 65% at 15% 85%, rgba(46, 140, 140, .45), transparent 65%),
    radial-gradient(40% 60% at 50% 50%, rgba(232, 177, 74, .1), transparent 70%),
    linear-gradient(170deg, #0b1422 0%, #0a1018 55%, #060912 100%);
}

.hiw-hero::before {
  content: "";
  position: absolute;
  inset: -10%;
  z-index: -1;
  background:
    radial-gradient(40% 50% at 25% 35%, rgba(46, 140, 140, .28), transparent 65%),
    radial-gradient(40% 50% at 75% 65%, rgba(233, 73, 87, .22), transparent 65%);
  filter: blur(60px);
  animation: hiwBlobDrift 22s ease-in-out infinite alternate;
}

.hiw-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1.4px);
  background-size: 22px 22px;
  mask-image: radial-gradient(70% 90% at 50% 40%, #000 0%, transparent 80%);
  -webkit-mask-image: radial-gradient(70% 90% at 50% 40%, #000 0%, transparent 80%);
}

.hiw-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: clamp(48px, 6vw, 80px);
  align-items: center;
}

.hiw-pass {
  position: relative;
  color: var(--hiw-cream);
}

.hiw-pass__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
  color: rgba(251, 244, 232, .58);
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.hiw-pass__meta span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.hiw-pass__meta i {
  color: var(--hiw-gold);
}

.hiw-pass__live {
  color: var(--hiw-cream);
}

.hiw-pass__live::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--hiw-red);
  box-shadow: 0 0 0 0 rgba(233, 73, 87, .7);
  animation: hiwDotPulse 1.8s ease-in-out infinite;
}

.hiw-pass__perf {
  position: relative;
  height: 1px;
  margin: 0 -14px 28px;
  background-image: linear-gradient(to right, rgba(255, 255, 255, .28) 0, rgba(255, 255, 255, .28) 8px, transparent 8px);
  background-size: 14px 1px;
}

.hiw-pass__perf::before,
.hiw-pass__perf::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #0a1018;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .12) inset;
  transform: translateY(-50%);
}

.hiw-pass__perf::before {
  left: -9px;
}

.hiw-pass__perf::after {
  right: -9px;
}

.hiw-pass h1 {
  max-width: 760px;
  margin: 0 0 22px;
  color: #fff;
  font-size: clamp(2.65rem, 4.6vw, 4.2rem);
  font-weight: 488;
  line-height: .98;
  letter-spacing: 0;
}

.hiw-pass__lead {
  max-width: 560px;
  margin: 0;
  color: rgba(251, 244, 232, .72);
  font-size: 1.04rem;
  line-height: 1.64;
}

.hiw-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin-top: 32px;
}

.hiw-actions--center {
  justify-content: center;
}

.hiw-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 0 24px;
  border-radius: 999px;
  font-size: .95rem;
  font-weight: 448;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}

.hiw-btn:hover {
  text-decoration: none;
  transform: translateY(-2px);
}

.hiw-btn--primary,
.hiw-btn--primary:visited {
  border: 1px solid rgba(255, 255, 255, .18);
  background: var(--hiw-red);
  color: #fff;
  box-shadow: 0 16px 30px -12px rgba(233, 73, 87, .95);
}

.hiw-btn--ghost,
.hiw-btn--ghost:visited {
  border: 1px solid var(--hiw-line);
  background: rgba(255, 255, 255, .065);
  color: #D10000;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.hiw-barcode {
  display: flex;
  align-items: end;
  gap: 2px;
  height: 38px;
  margin-top: 36px;
}

.hiw-barcode__bar {
  display: block;
  width: 3px;
  height: 24px;
  background: rgba(251, 244, 232, .82);
}

.hiw-barcode__bar--1,
.hiw-barcode__bar--5,
.hiw-barcode__bar--10,
.hiw-barcode__bar--15 { height: 36px; }
.hiw-barcode__bar--2,
.hiw-barcode__bar--6,
.hiw-barcode__bar--12,
.hiw-barcode__bar--16 { height: 16px; }
.hiw-barcode__bar--3,
.hiw-barcode__bar--8,
.hiw-barcode__bar--13 { height: 32px; }
.hiw-barcode__bar--4,
.hiw-barcode__bar--11,
.hiw-barcode__bar--14 { height: 22px; }
.hiw-barcode__bar--7,
.hiw-barcode__bar--9 { height: 28px; }

.hiw-journey {
  position: relative;
  width: min(100%, 492px);
  aspect-ratio: 4 / 5;
  margin-left: auto;
}

.hiw-journey__path {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.hiw-journey__path path {
  fill: none;
  stroke: rgba(251, 244, 232, .28);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-dasharray: 10 16;
  animation: hiwPathFlow 16s linear infinite;
}

.hiw-journey__node {
  --node-color: var(--hiw-red);
  position: absolute;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  margin: -32px 0 0 -32px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 50%;
  background: rgba(255, 255, 255, .07);
  color: #fff;
  box-shadow: 0 18px 34px -18px #000;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  transition: transform .3s ease, background .3s ease, box-shadow .3s ease;
  animation: hiwNodeFloat 5s ease-in-out infinite;
}

.hiw-journey__node--2,
.hiw-journey__node--5 {
  animation-delay: .7s;
}

.hiw-journey__node--3,
.hiw-journey__node--6 {
  animation-delay: 1.2s;
}

.hiw-journey__node:hover,
.hiw-journey__node--3,
.hiw-journey__node--5 {
  background: var(--node-color);
  color: #1a0b12;
  box-shadow: 0 18px 34px -14px var(--node-color);
  transform: scale(1.06);
}

.hiw-journey__node--1 { left: 18%; top: 14%; --node-color: var(--hiw-red); }
.hiw-journey__node--2 { left: 70%; top: 20%; --node-color: var(--hiw-gold); }
.hiw-journey__node--3 { left: 58%; top: 44%; --node-color: var(--hiw-teal); }
.hiw-journey__node--4 { left: 28%; top: 54%; --node-color: #ffd1b5; }
.hiw-journey__node--5 { left: 36%; top: 76%; --node-color: var(--hiw-red); }
.hiw-journey__node--6 { left: 78%; top: 84%; --node-color: var(--hiw-gold); }

.hiw-journey__num {
  position: absolute;
  top: -10px;
  right: -10px;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 2px solid var(--hiw-cream);
  border-radius: 50%;
  background: #1a0b12;
  color: var(--hiw-gold);
  font-size: .68rem;
  font-weight: 488;
}

.hiw-journey__label {
  position: absolute;
  max-width: 190px;
  color: rgba(251, 244, 232, .9);
  pointer-events: none;
}

.hiw-journey__label strong,
.hiw-ticket-badge span {
  display: block;
  color: #fff;
  font-size: .94rem;
  font-weight: 488;
  line-height: 1.22;
}

.hiw-journey__label span {
  display: block;
  margin-top: 4px;
  color: rgba(251, 244, 232, .58);
  font-size: .78rem;
  line-height: 1.35;
}

.hiw-journey__label--start {
  left: 4%;
  top: 25%;
}

.hiw-journey__label--end {
  right: 2%;
  bottom: 22%;
  text-align: right;
}

.hiw-ticket-badge {
  position: absolute;
  left: 50%;
  bottom: -2%;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 8px;
  background: rgba(255, 255, 255, .075);
  box-shadow: 0 22px 44px -18px rgba(0, 0, 0, .7);
  transform: translateX(-50%);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  animation: hiwBadgeBob 4s ease-in-out infinite;
}

.hiw-ticket-badge img {
  width: 38px;
  height: 38px;
  border-radius: 8px;
}

.hiw-strip {
  position: relative;
  z-index: 2;
  border-top: 1px solid var(--hiw-line);
  border-bottom: 1px solid var(--hiw-line);
  background: rgba(255, 248, 239, .88);
  padding: 10px 40px;
}

.hiw-strip__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  padding-top: 28px;
  padding-bottom: 28px;
}

.hiw-stat {
  display: flex;
  align-items: center;
  gap: 16px;
}

.hiw-stat__badge,
.hiw-step__icon,
.hiw-benefit__icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  border-radius: 8px;
  background: var(--hiw-red);
  color: #1a0b12;
  box-shadow: 0 14px 28px -12px var(--hiw-red);
}

.hiw-stat:nth-child(2) .hiw-stat__badge,
.hiw-step:nth-child(2n) .hiw-step__icon,
.hiw-benefit:nth-child(2n) .hiw-benefit__icon {
  background: var(--hiw-gold);
  box-shadow-color: var(--hiw-gold);
}

.hiw-stat:nth-child(3) .hiw-stat__badge,
.hiw-step:nth-child(3n) .hiw-step__icon,
.hiw-benefit:nth-child(3n) .hiw-benefit__icon {
  background: var(--hiw-teal);
  color: #fff;
  box-shadow-color: var(--hiw-teal);
}

.hiw-stat strong {
  display: block;
  color: var(--hiw-ink);
  font-size: 1.05rem;
  font-weight: 488;
  line-height: 1.18;
}

.hiw-stat span:not(.hiw-stat__badge) {
  display: block;
  margin-top: 4px;
  color: var(--hiw-muted);
  font-size: .9rem;
  line-height: 1.45;
}

.hiw-section {
  position: relative;
  z-index: 2;
  padding: 110px 0;
  background: #fbf4e8;
}

.hiw-section__header {
  max-width: 760px;
  margin-bottom: 56px;
}

.hiw-kicker {
  display: inline-flex;
  align-items: center;
  margin: 0 0 14px;
  color: var(--hiw-gold);
  font-size: .76rem;
  font-weight: 448;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.hiw-section__header h2,
.hiw-split__copy h2,
.hiw-scanner__copy h2,
.hiw-cta h2 {
  margin: 0;
  color: var(--hiw-ink);
  font-size: clamp(2.2rem, 4vw, 3.7rem);
  font-weight: 488;
  line-height: 1.04;
  letter-spacing: 0;
}

.hiw-section__header p,
.hiw-split__copy p,
.hiw-scanner__copy p,
.hiw-cta p {
  max-width: 680px;
  margin: 16px 10px;
  color: var(--hiw-muted);
  font-size: 1.04rem;
  line-height: 1.68;
}

.hiw-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 80px 60px;
  padding: 0 20px;
}

.hiw-timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: linear-gradient(180deg, transparent 0%, var(--hiw-red) 8%, var(--hiw-gold) 38%, var(--hiw-teal) 68%, transparent 100%);
  transform: translateX(-50%);
}

.hiw-step,
.hiw-benefit {
  position: relative;
  border: 1px solid var(--hiw-line);
  border-radius: 8px;
  background: var(--hiw-panel);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 42px rgba(24, 20, 24, .08);
  transition: transform .3s ease, background .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.hiw-step {
  display: flex;
  flex-direction: column;
  min-height: 260px;
  padding: 26px;
}

.hiw-step:hover,
.hiw-benefit:hover {
  border-color: rgba(233, 73, 87, .28);
  background: var(--hiw-panel-strong);
  box-shadow: 0 26px 58px -34px rgba(24, 20, 24, .45);
  transform: translateY(-6px);
}

.hiw-step:nth-child(2) { margin-top: 60px; }
.hiw-step:nth-child(3) { margin-top: -20px; }
.hiw-step:nth-child(4) { margin-top: 40px; }
.hiw-step:nth-child(5) { margin-top: -20px; }
.hiw-step:nth-child(6) { margin-top: 40px; }

.hiw-step::before {
  content: "";
  position: absolute;
  top: 44px;
  width: 50px;
  height: 2px;
  background: currentColor;
  opacity: .55;
}

.hiw-step::after {
  content: "";
  position: absolute;
  top: 38px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: currentColor;
  color: var(--hiw-red);
  box-shadow: 0 0 0 4px #fbf4e8, 0 0 0 5px currentColor, 0 0 24px currentColor;
}

.hiw-step:nth-child(2n)::after,
.hiw-step:nth-child(2n) {
  color: var(--hiw-gold);
}

.hiw-step:nth-child(3n)::after,
.hiw-step:nth-child(3n) {
  color: var(--hiw-teal);
}

.hiw-step:nth-child(odd)::after {
  right: -68px;
}

.hiw-step:nth-child(odd)::before {
  right: -56px;
}

.hiw-step:nth-child(even)::after {
  left: -68px;
}

.hiw-step:nth-child(even)::before {
  left: -56px;
}

.hiw-step__number {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-height: 30px;
  padding: 0 12px;
  margin-bottom: 12px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
  color: currentColor;
  font-size: .76rem;
  font-weight: 488;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hiw-step__icon,
.hiw-benefit__icon {
  margin-bottom: 18px;
}

.hiw-step h3,
.hiw-benefit h3 {
  margin: 0 0 10px;
  color: var(--hiw-ink);
  font-size: 1.14rem;
  font-weight: 488;
  line-height: 1.24;
  letter-spacing: 0;
}

.hiw-step p,
.hiw-benefit p {
  margin: 0;
  color: #665b60;
  font-size: .94rem;
  line-height: 1.62;
}

.hiw-section--split {
  background: #fff8ef;
}

.hiw-split,
.hiw-scanner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
  gap: clamp(48px, 6vw, 80px);
  align-items: center;
}

.hiw-checklist {
  display: grid;
  gap: 14px;
  margin: 28px 0 32px;
  padding: 0;
  list-style: none;
}

.hiw-checklist li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: #33262b;
  font-size: .98rem;
  line-height: 1.5;
}

.hiw-checklist i {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  margin-top: 2px;
  border-radius: 50%;
  background: rgba(46, 140, 140, .18);
  color: var(--hiw-teal);
  font-size: .75rem;
}

.hiw-phone {
  position: relative;
  width: min(100%, 320px);
  aspect-ratio: 9 / 18;
  margin: 0 auto;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 32px;
  background: linear-gradient(155deg, #1a0b12 0%, #2a0e16 100%);
  box-shadow: 0 42px 82px -34px rgba(0, 0, 0, .75);
  overflow: visible;
}

.hiw-phone__confirm {
  position: absolute;
  top: 14%;
  right: -22px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 8px;
  background: var(--hiw-teal);
  color: #fff;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .3);
  font-size: .72rem;
  font-weight: 488;
  letter-spacing: .04em;
  animation: hiwConfirmFloat 4s ease-in-out infinite;
}

.hiw-phone__confirm i {
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .18);
  font-size: .72rem;
}

.hiw-phone::before {
  content: "";
  position: absolute;
  top: 14px;
  left: 50%;
  z-index: 3;
  width: 100px;
  height: 22px;
  border-radius: 0 0 8px 8px;
  background: #0e0508;
  transform: translateX(-50%);
}

.hiw-phone__screen {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 38px 18px 18px;
  border-radius: 24px;
  overflow: hidden;
  background: linear-gradient(170deg, #fbf4e8, #f6e8d6);
  color: var(--hiw-ink);
}

.hiw-phone__status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  color: rgba(24, 20, 24, .62);
  font-size: .72rem;
  font-weight: 488;
  line-height: 1;
}

.hiw-phone__signal {
  display: inline-flex;
  align-items: end;
  gap: 3px;
}

.hiw-phone__signal i {
  display: block;
  width: 4px;
  border-radius: 999px;
  background: rgba(24, 20, 24, .56);
}

.hiw-phone__signal i:nth-child(1) { height: 7px; }
.hiw-phone__signal i:nth-child(2) { height: 10px; }
.hiw-phone__signal i:nth-child(3) { height: 13px; }

.hiw-phone__signal::after {
  content: "";
  display: block;
  width: 18px;
  height: 10px;
  margin-left: 3px;
  border: 1px solid rgba(24, 20, 24, .56);
  border-radius: 3px;
  background: linear-gradient(90deg, rgba(24, 20, 24, .56) 0 70%, transparent 70%);
}

.hiw-phone__ticket {
  position: relative;
  padding: 16px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 26px -14px rgba(0, 0, 0, .25);
}

.hiw-phone__ticket::before,
.hiw-phone__ticket::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--hiw-cream);
  transform: translateY(-50%);
}

.hiw-phone__ticket::before { left: -7px; }
.hiw-phone__ticket::after { right: -7px; }

.hiw-phone__label {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
  color: var(--hiw-red);
  font-size: .6rem;
  font-weight: 488;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.hiw-phone__label span {
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--hiw-red);
}

.hiw-phone__title {
  margin-bottom: 5px;
  color: var(--hiw-ink);
  font-size: .94rem;
  font-weight: 488;
  line-height: 1.18;
}

.hiw-phone__meta {
  color: #6b5c56;
  font-size: .68rem;
  font-weight: 650;
  line-height: 1.35;
}

.hiw-phone__price {
  color: var(--hiw-ink);
  font-size: 1.05rem;
  font-weight: 488;
  line-height: 1;
}

.hiw-phone__chips {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.hiw-phone__chip {
  display: flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 8px;
  background: rgba(24, 20, 24, .08);
  color: #6b5c56;
  font-size: .68rem;
  font-weight: 448;
  line-height: 1.2;
}

.hiw-phone__chip--primary {
  justify-content: center;
  background: var(--hiw-red);
  color: #fff;
}

.hiw-phone__perf {
  height: 0;
  margin: 14px 0;
  border-top: 1px dashed rgba(0, 0, 0, .18);
}

.hiw-phone__row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
}

.hiw-phone__qr {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  background: #fff;
}

.hiw-phone__qr img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.hiw-phone__beam {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.hiw-phone__beam::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 60px;
  background: linear-gradient(180deg, rgba(233, 73, 87, 0) 0%, rgba(233, 73, 87, .42) 50%, rgba(233, 73, 87, 0) 100%);
  filter: blur(4px);
  animation: hiwScanSweep 2.6s ease-in-out infinite;
}

.hiw-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.hiw-benefit {
  min-height: 250px;
  padding: 26px;
}

.hiw-section--scanner {
  background:
    linear-gradient(135deg, rgba(123, 9, 22, .72), rgba(6, 9, 18, .94)),
    url("/images/dark-banner.jpg") center/cover no-repeat;
}

.hiw-section--scanner .hiw-scanner__copy h2,
.hiw-section--scanner .hiw-scanner__copy p {
  color: #fff;
}

.hiw-section--scanner .hiw-kicker {
  color: var(--hiw-gold);
}

.hiw-scanner {
  grid-template-columns: minmax(240px, .45fr) minmax(0, 1fr);
}

.hiw-scanner__media {
  display: flex;
  justify-content: center;
}

.hiw-scanner__media img {
  width: min(240px, 76vw);
  height: auto;
  border-radius: 8px;
  box-shadow: 0 28px 70px rgba(0, 0, 0, .34);
}

.hiw-scanner__copy p {
  max-width: 660px;
}

.hiw-cta {
  position: relative;
  z-index: 2;
  padding: 92px 0 104px;
  border-top: 1px solid rgba(24, 20, 24, .12);
  text-align: center;
  background:
    radial-gradient(circle at 12% 22%, rgba(233, 73, 87, .12), transparent 28%),
    radial-gradient(circle at 88% 72%, rgba(46, 140, 140, .12), transparent 28%),
    #fff;
}

.hiw-cta .hiw-shell {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hiw-cta p {
  max-width: 720px;
}

.hiw-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .65s ease, transform .65s ease;
}

.hiw-reveal--visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes hiwDotPulse {
  0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(233, 73, 87, .7); }
  70% { transform: scale(1.55); box-shadow: 0 0 0 14px rgba(233, 73, 87, 0); }
  100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(233, 73, 87, 0); }
}

@keyframes hiwBlobDrift {
  0% { transform: translate(0, 0) rotate(0deg); }
  50% { transform: translate(40px, -30px) rotate(8deg); }
  100% { transform: translate(-30px, 20px) rotate(-6deg); }
}

@keyframes hiwPathFlow {
  0% { stroke-dashoffset: 0; }
  100% { stroke-dashoffset: -104; }
}

@keyframes hiwNodeFloat {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -7px; }
}

@keyframes hiwBadgeBob {
  0%, 100% { translate: -50% 0; }
  50% { translate: -50% -8px; }
}

@keyframes hiwConfirmFloat {
  0%, 100% { transform: translateY(0) rotate(2deg); }
  50% { transform: translateY(-6px) rotate(-1deg); }
}

@keyframes hiwScanSweep {
  0% { top: -40px; opacity: 0; }
  20% { opacity: 1; }
  80% { opacity: 1; }
  100% { top: 100%; opacity: 0; }
}

@media (max-width: 991.98px) {
  .hiw-shell {
    padding: 0 24px;
  }

  .hiw-hero {
    padding: 64px 0 68px;
  }

  .hiw-hero__grid,
  .hiw-split,
  .hiw-scanner {
    grid-template-columns: 1fr;
  }

  .hiw-journey {
    margin: 0 auto;
  }

  .hiw-strip__grid,
  .hiw-benefits {
    grid-template-columns: 1fr;
  }

  .hiw-timeline {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 0;
  }

  .hiw-timeline::before,
  .hiw-step::before,
  .hiw-step::after {
    display: none;
  }

  .hiw-step,
  .hiw-step:nth-child(n) {
    margin-top: 0;
  }
}

@media (max-width: 767.98px) {
  .hiw-shell {
    padding: 0 18px;
  }

  .hiw-hero {
    padding: 48px 0 56px;
  }

  .hiw-pass__meta {
    align-items: flex-start;
    flex-direction: column;
  }

  .hiw-pass h1 {
    font-size: 2.45rem;
    line-height: 1.02;
  }

  .hiw-actions,
  .hiw-actions--center {
    align-items: stretch;
    flex-direction: column;
  }

  .hiw-btn {
    width: 100%;
  }

  .hiw-journey {
    display: none;
  }

  .hiw-section,
  .hiw-cta {
    padding: 64px 0;
  }

  .hiw-section__header {
    margin-bottom: 34px;
  }

  .hiw-section__header h2,
  .hiw-split__copy h2,
  .hiw-scanner__copy h2,
  .hiw-cta h2 {
    font-size: 2.15rem;
  }

  .hiw-stat {
    align-items: flex-start;
  }

  .hiw-phone {
    max-width: 280px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hiw-hero::before,
  .hiw-pass__live::before,
  .hiw-journey__path path,
  .hiw-journey__node,
  .hiw-ticket-badge,
  .hiw-phone__confirm,
  .hiw-phone__beam::after {
    animation: none;
  }

  .hiw-reveal,
  .hiw-step,
  .hiw-benefit,
  .hiw-btn {
    transition: none;
  }
}


/* ============================================================
   THINGS TO DO - /things-to-do and /things-to-do/[country]
   ============================================================ */

/* ── Shared buttons ── */
.ttd-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .8rem 1.9rem;
  background: var(--sr-primary);
  color: #fff;
  border-radius: 8px;
  font-weight: 700;
  font-size: .95rem;
  text-decoration: none;
  transition: background .15s ease, transform .15s ease, box-shadow .15s ease;
  border: none;
}
.ttd-btn-primary:hover {
  background: var(--sr-primary-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(230,57,70,.35);
  color: #fff;
}
.ttd-btn-outline {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .8rem 1.9rem;
  background: transparent;
  color: rgba(255,255,255,.85);
  border: 1.5px solid rgba(255,255,255,.3);
  border-radius: 8px;
  font-weight: 600;
  font-size: .95rem;
  text-decoration: none;
  transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.ttd-btn-outline:hover {
  border-color: #fff;
  color: #fff;
  background: rgba(255,255,255,.07);
}
.ttd-btn-outline--dark {
  color: #333;
  border-color: #d1d5db;
}
.ttd-btn-outline--dark:hover {
  border-color: var(--sr-primary);
  color: var(--sr-primary);
  background: rgba(230,57,70,.04);
}

/* ══ LANDING PAGE ═════════════════════════════════════════════ */

.ttd-hero {
  background: #080810;
  min-height: 72vh;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  text-align: center;
  padding: 6rem 0 5rem;
}
.ttd-hero__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(110px);
  pointer-events: none;
  animation: ttdOrb 9s ease-in-out infinite alternate;
}
.ttd-hero__orb--a { width:560px;height:560px;background:rgba(230,57,70,.22);top:-200px;left:-80px; }
.ttd-hero__orb--b { width:480px;height:480px;background:rgba(69,123,157,.18);bottom:-160px;right:-60px;animation-delay:-4s; }
.ttd-hero__orb--c { width:300px;height:300px;background:rgba(120,80,200,.14);top:30%;left:50%;transform:translateX(-50%);animation-delay:-2s; }
@keyframes ttdOrb {
  from { opacity:.5;transform:scale(1); }
  to   { opacity:1;transform:scale(1.2); }
}
.ttd-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto;
}
.ttd-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #e63946;
  background: rgba(230,57,70,.12);
  border: 1px solid rgba(230,57,70,.3);
  border-radius: 100px;
  padding: .3rem 1rem;
  margin-bottom: 1.75rem;
}
.ttd-hero__h1 {
  font-size: clamp(2.8rem,7vw,5rem);
  font-weight: 599;
  line-height: 1.05;
  color: #fff;
  letter-spacing: -.03em;
  margin-bottom: 1.5rem;
}
.ttd-hero__h1-accent {
  display: block;
  background: linear-gradient(90deg,#e63946,#f4a261);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.ttd-hero__sub {
  font-size: 1.15rem;
  color: rgba(255,255,255,.6);
  line-height: 1.7;
  max-width: 520px;
  margin: 0 auto 2.5rem;
}
.ttd-hero__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .9rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}
.ttd-hero__note {
  font-size: .82rem;
  color: rgba(255,255,255,.4);
}
.ttd-hero__note a {
  color: rgba(255,255,255,.65);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.ttd-sh { margin-bottom:2.75rem; }
.ttd-sh--center { text-align:center; }
.ttd-sh__label {
  font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#e63946;margin-bottom:.5rem;
}
.ttd-sh__h2 {
  font-size:clamp(1.6rem,3vw,2.1rem);font-weight:800;color:#0f0f13;
  letter-spacing:-.02em;margin-bottom:.5rem;
}
.ttd-sh__sub { font-size:1rem;color:#6b7280;line-height:1.6; }

.ttd-intro { padding:4.5rem 0; }
.ttd-intro__inner { max-width:680px;margin:0 auto;text-align:center; }
.ttd-intro__body { font-size:1.1rem;color:#444;line-height:1.8; }

.ttd-dest { padding:0 0 5rem;background:#080810; }
.ttd-dest .ttd-sh__h2 { color:#f3f4f6; }
.ttd-dest .ttd-sh__sub { color:rgba(255,255,255,.45); }
.ttd-dest .ttd-sh__label { color:#f87171; }
.ttd-dest__header { padding:4.5rem 0 2.5rem; }

.ttd-bento {
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr;
  grid-template-rows:240px 240px;
  gap:.75rem;
}
.ttd-bento-card {
  position:relative;border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:1.5rem 1.75rem;text-decoration:none;
  transition:transform .25s cubic-bezier(.25,.46,.45,.94),box-shadow .25s ease;
}
.ttd-bento-card:hover { transform:scale(1.025);box-shadow:0 20px 60px rgba(0,0,0,.5); }
.ttd-bento-card:first-child { grid-row:1/3; }
.ttd-bento-card:first-child .ttd-bento-card__name { font-size:2.2rem; }
.ttd-bento-card:first-child .ttd-bento-card__flag { font-size:4rem; }
.ttd-bento-card--uk { background:linear-gradient(155deg,#1d3461 0%,#1a1a2e 55%,#0d0d18 100%); }
.ttd-bento-card--us { background:linear-gradient(155deg,#6b1b1b 0%,#3d0e0e 55%,#100808 100%); }
.ttd-bento-card--fr { background:linear-gradient(155deg,#1a1363 0%,#2d1b69 40%,#0d0a1a 100%); }
.ttd-bento-card--de { background:linear-gradient(155deg,#1c1c1c 0%,#2a2a2a 50%,#0a0a0a 100%); }
.ttd-bento-card--au { background:linear-gradient(155deg,#7c2d12 0%,#431407 55%,#120400 100%); }
.ttd-bento-card__overlay {
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,.1) 55%,transparent 100%);
  pointer-events:none;
}
.ttd-bento-card__content { position:relative;z-index:1; }
.ttd-bento-card__flag {
  display:block;font-size:2.75rem;line-height:1;margin-bottom:.65rem;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.5));
}
.ttd-bento-card__name {
  display:block;font-size:1.5rem;font-weight:800;color:#fff;
  letter-spacing:-.02em;line-height:1.1;margin-bottom:.7rem;
}
.ttd-bento-card__explore {
  display:inline-flex;align-items:center;gap:.4rem;
  font-size:.78rem;font-weight:700;color:rgba(255,255,255,.6);
  letter-spacing:.08em;text-transform:uppercase;
  transition:color .15s ease,gap .15s ease;
}
.ttd-bento-card:hover .ttd-bento-card__explore { color:#fff;gap:.7rem; }
.ttd-bento-card__bg-flag {
  position:absolute;top:1rem;right:1.25rem;
  font-size:5rem;opacity:.06;pointer-events:none;
  transition:opacity .2s ease;
}
.ttd-bento-card:hover .ttd-bento-card__bg-flag { opacity:.1; }

.ttd-cats { padding:5rem 0; }
.ttd-cats__list { display:grid;grid-template-columns:repeat(6,1fr);gap:.75rem; }
.ttd-cat-item {
  display:flex;flex-direction:column;align-items:center;gap:.65rem;
  padding:1.5rem 1rem;background:#f9fafb;border:1.5px solid #f3f4f6;
  border-radius:14px;text-align:center;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
.ttd-cat-item:hover { border-color:#e63946;background:#fff;transform:translateY(-3px); }
.ttd-cat-item__icon {
  width:48px;height:48px;border-radius:12px;
  background:rgba(230,57,70,.08);display:flex;align-items:center;
  justify-content:center;font-size:1.2rem;color:#e63946;
}
.ttd-cat-item:hover .ttd-cat-item__icon { background:rgba(230,57,70,.15); }
.ttd-cat-item__label { font-size:.82rem;font-weight:700;color:#374151; }

.ttd-upcoming { padding:3rem 0 5rem;background:#f9fafb;border-top:1px solid #f3f4f6;border-bottom:1px solid #f3f4f6; }
.ttd-upcoming__tags { display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem; }
.ttd-upcoming__tag {
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.4rem .9rem;background:#fff;border:1.5px solid #e5e7eb;
  border-radius:100px;font-size:.82rem;font-weight:500;color:#6b7280;
}
.ttd-upcoming__note { font-size:.8rem;color:#9ca3af;margin-top:1.25rem; }

.ttd-why { padding:5.5rem 0; }
.ttd-why__grid { display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center; }
.ttd-why__body { font-size:1.05rem;color:#555;line-height:1.8;margin-bottom:2rem; }
.ttd-why__note { font-size:.85rem;color:#9ca3af;margin-top:1rem; }
.ttd-why__note a { color:#e63946;text-decoration:none;font-weight:500; }
.ttd-why__note a:hover { text-decoration:underline; }
.ttd-why__stats { display:grid;grid-template-columns:1fr 1fr;gap:.75rem; }
.ttd-stat { background:#f9fafb;border:1.5px solid #f3f4f6;border-radius:14px;padding:1.5rem; }
.ttd-stat__val { font-size:2.2rem;font-weight:900;color:#0f0f13;letter-spacing:-.03em;line-height:1;margin-bottom:.3rem; }
.ttd-stat__val span { color:#e63946; }
.ttd-stat__label { font-size:.82rem;color:#9ca3af;font-weight:500; }

/* ══ COUNTRY PAGE ══════════════════════════════════════════════ */

.ttd-crumb { padding:.85rem 0; }
.ttd-crumb--on-dark { border-bottom:1px solid rgba(255,255,255,.08); }
.ttd-crumb__back {
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.82rem;font-weight:600;text-decoration:none;
  letter-spacing:.02em;transition:color .15s ease;
}
.ttd-crumb--on-dark .ttd-crumb__back { color:rgba(255,255,255,.5); }
.ttd-crumb--on-dark .ttd-crumb__back:hover { color:#fff; }

.ttd-country-hero {
  min-height:52vh;display:flex;flex-direction:column;
  justify-content:flex-end;position:relative;overflow:hidden;padding:0 0 4rem;
}
.ttd-country-hero__bg { position:absolute;inset:0;z-index:0; }
.ttd-country-hero__bg::after {
  content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.15) 0%,rgba(0,0,0,.6) 65%,rgba(0,0,0,.92) 100%);
}
.ttd-country-hero--uk .ttd-country-hero__bg { background:linear-gradient(135deg,#0d1b2a,#1d3461,#0d1b2a); }
.ttd-country-hero--us .ttd-country-hero__bg { background:linear-gradient(135deg,#100808,#6b1b1b,#0d0505); }
.ttd-country-hero--fr .ttd-country-hero__bg { background:linear-gradient(135deg,#0d0a1a,#1a1363,#2d1b69); }
.ttd-country-hero--de .ttd-country-hero__bg { background:linear-gradient(135deg,#0a0a0a,#1c1c1c,#2a2a2a); }
.ttd-country-hero--au .ttd-country-hero__bg { background:linear-gradient(135deg,#0d0200,#7c2d12,#431407); }
.ttd-country-hero__glow {
  position:absolute;width:500px;height:500px;border-radius:50%;
  filter:blur(120px);opacity:.28;z-index:0;top:-100px;right:-80px;pointer-events:none;
}
.ttd-country-hero--uk .ttd-country-hero__glow { background:#1d3461; }
.ttd-country-hero--us .ttd-country-hero__glow { background:#6b1b1b; }
.ttd-country-hero--fr .ttd-country-hero__glow { background:#2d1b69; }
.ttd-country-hero--de .ttd-country-hero__glow { background:#444; }
.ttd-country-hero--au .ttd-country-hero__glow { background:#7c2d12; }
.ttd-country-hero__inner { position:relative;z-index:1; }
.ttd-country-hero__flag {
  display:block;font-size:3rem;line-height:1;margin-bottom:.75rem;
  filter:drop-shadow(0 2px 12px rgba(0,0,0,.4));
}
.ttd-country-hero__h1 {
  font-size:clamp(2.2rem,5vw,3.8rem);font-weight:900;color:#fff;
  letter-spacing:-.03em;line-height:1.05;margin-bottom:1rem;
}
.ttd-country-hero__intro { font-size:1.1rem;color:rgba(255,255,255,.7);line-height:1.7;max-width:640px; }

.ttd-article { padding:5rem 0 3rem; }
.ttd-article__grid { display:grid;grid-template-columns:1fr 1fr;gap:2rem 4rem; }
.ttd-article__section-icon {
  width:40px;height:40px;border-radius:10px;background:rgba(230,57,70,.08);
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;color:#e63946;margin-bottom:.9rem;
}
.ttd-article__section-title { font-size:1.15rem;font-weight:800;color:#0f0f13;margin-bottom:.6rem;letter-spacing:-.01em; }
.ttd-article__section-body { font-size:.975rem;color:#4b5563;line-height:1.8; }

.ttd-country-cta { background:#080810;padding:5rem 0;text-align:center;position:relative;overflow:hidden; }
.ttd-country-cta::before {
  content:'';position:absolute;width:600px;height:300px;border-radius:50%;
  background:rgba(230,57,70,.12);filter:blur(80px);
  top:-100px;left:50%;transform:translateX(-50%);pointer-events:none;
}
.ttd-country-cta__inner { position:relative;z-index:1;max-width:560px;margin:0 auto; }
.ttd-country-cta__label { font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#f87171;margin-bottom:.75rem; }
.ttd-country-cta__h2 {
  font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:900;color:#fff;
  letter-spacing:-.025em;line-height:1.1;margin-bottom:.75rem;
}
.ttd-country-cta__sub { font-size:1rem;color:rgba(255,255,255,.5);line-height:1.65;margin-bottom:2.25rem; }
.ttd-country-cta__note { font-size:.82rem;color:rgba(255,255,255,.35);margin-top:1.25rem; }
.ttd-country-cta__note a { color:rgba(255,255,255,.55);text-decoration:underline;text-underline-offset:2px; }
.ttd-country-cta__note a:hover { color:#fff; }

/* ── Responsive ── */
@media(max-width:991px){
  .ttd-cats__list{grid-template-columns:repeat(3,1fr);}
  .ttd-why__grid{grid-template-columns:1fr;gap:2.5rem;}
  .ttd-why__stats{grid-template-columns:repeat(4,1fr);}
  .ttd-article__grid{grid-template-columns:1fr;gap:2rem;}
}
@media(max-width:767px){
  .ttd-bento{grid-template-columns:1fr 1fr;grid-template-rows:200px 200px 200px;}
  .ttd-bento-card:first-child{grid-row:1/1;grid-column:1/3;}
  .ttd-cats__list{grid-template-columns:repeat(2,1fr);}
  .ttd-why__stats{grid-template-columns:repeat(2,1fr);}
  .ttd-country-hero{min-height:45vh;padding-bottom:2.5rem;}
}
@media(max-width:479px){
  .ttd-hero{padding:4rem 0 3.5rem;}
  .ttd-bento{grid-template-columns:1fr;grid-template-rows:none;}
  .ttd-bento-card{min-height:180px;}
  .ttd-bento-card:first-child{grid-column:1;}
  .ttd-cats__list{grid-template-columns:repeat(3,1fr);}
}
/* ── TTD: all-countries tag grid ── */
.ttd-all-countries { padding:4rem 0 5rem; }
.ttd-country-tags {
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin-top:1.75rem;
}
.ttd-country-tag {
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.5rem 1rem;
  background:#fff;
  border:1.5px solid #e5e7eb;
  border-radius:8px;
  font-size:.875rem;
  font-weight:600;
  color:#374151;
  text-decoration:none;
  transition:border-color .15s ease, color .15s ease, background .15s ease, transform .15s ease;
}
.ttd-country-tag:hover {
  border-color:#e63946;
  color:#e63946;
  background:#fff8f8;
  transform:translateY(-1px);
}
.ttd-country-tag .fa-arrow-right {
  font-size:.65rem;
  opacity:.4;
  transition:opacity .15s ease,transform .15s ease;
}
.ttd-country-tag:hover .fa-arrow-right {
  opacity:1;
  transform:translateX(2px);
}
/* Make ttd-cat-item work as <a> */
a.ttd-cat-item { text-decoration:none; }
/* ── TTD: batch 2 country hero gradients ── */
.ttd-bento-card--ca { background:linear-gradient(155deg,#7f1d1d 0%,#1d3461 50%,#0a0a14 100%); }
.ttd-bento-card--ie { background:linear-gradient(155deg,#064e3b 0%,#1e3a5f 50%,#080f08 100%); }
.ttd-bento-card--it { background:linear-gradient(155deg,#14532d 0%,#7f1d1d 50%,#0a0a0a 100%); }
.ttd-bento-card--es { background:linear-gradient(155deg,#7c1d1d 0%,#78350f 50%,#0f0a00 100%); }
.ttd-bento-card--nl { background:linear-gradient(155deg,#7c2d12 0%,#1d3461 50%,#060810 100%); }
.ttd-bento-card--pt { background:linear-gradient(155deg,#14532d 0%,#7c1d1d 50%,#080808 100%); }
.ttd-bento-card--jp { background:linear-gradient(155deg,#881337 0%,#1c1c1c 50%,#0f0006 100%); }
.ttd-bento-card--in { background:linear-gradient(155deg,#78350f 0%,#14532d 50%,#0a0800 100%); }
.ttd-country-hero--ca .ttd-country-hero__bg { background:linear-gradient(135deg,#0a0410,#7f1d1d,#1d3461); }
.ttd-country-hero--ie .ttd-country-hero__bg { background:linear-gradient(135deg,#040e06,#064e3b,#1e3a5f); }
.ttd-country-hero--it .ttd-country-hero__bg { background:linear-gradient(135deg,#04100a,#14532d,#7f1d1d); }
.ttd-country-hero--es .ttd-country-hero__bg { background:linear-gradient(135deg,#0f0600,#7c1d1d,#78350f); }
.ttd-country-hero--nl .ttd-country-hero__bg { background:linear-gradient(135deg,#060810,#7c2d12,#1d3461); }
.ttd-country-hero--pt .ttd-country-hero__bg { background:linear-gradient(135deg,#080808,#14532d,#7c1d1d); }
.ttd-country-hero--jp .ttd-country-hero__bg { background:linear-gradient(135deg,#0f0006,#881337,#1c1c1c); }
.ttd-country-hero--in .ttd-country-hero__bg { background:linear-gradient(135deg,#060400,#78350f,#14532d); }
.ttd-country-hero--ca .ttd-country-hero__glow { background:#7f1d1d; }
.ttd-country-hero--ie .ttd-country-hero__glow { background:#064e3b; }
.ttd-country-hero--it .ttd-country-hero__glow { background:#14532d; }
.ttd-country-hero--es .ttd-country-hero__glow { background:#7c1d1d; }
.ttd-country-hero--nl .ttd-country-hero__glow { background:#7c2d12; }
.ttd-country-hero--pt .ttd-country-hero__glow { background:#14532d; }
.ttd-country-hero--jp .ttd-country-hero__glow { background:#881337; }
.ttd-country-hero--in .ttd-country-hero__glow { background:#78350f; }
/* ── TTD: background image support for bento cards and country heroes ── */
.ttd-bento-card {
  background-size: cover;
  background-position: center;
}
.ttd-country-hero__bg {
  background-size: cover;
  background-position: center;
}
/* ── TTD: photo card grid (all-countries section) ── */
.ttd-all-countries { padding:4rem 0 5rem; }
.ttd-country-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:.75rem;
  margin-top:1.75rem;
}
.ttd-country-photo-card {
  position:relative;
  height:130px;
  border-radius:12px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  text-decoration:none;
  background:#1a1a24;
  background-size:cover;
  background-position:center;
  transition:transform .2s ease, box-shadow .2s ease;
}
.ttd-country-photo-card:hover {
  transform:scale(1.03);
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.ttd-country-photo-card__overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.78) 0%,rgba(0,0,0,.2) 55%,transparent 100%);
  pointer-events:none;
}
.ttd-country-photo-card__content {
  position:relative;
  z-index:1;
  padding:.6rem .8rem;
  width:100%;
}
.ttd-country-photo-card__flag {
  display:block;
  font-size:1.3rem;
  line-height:1;
  margin-bottom:.25rem;
}
.ttd-country-photo-card__name {
  display:block;
  font-size:.8rem;
  font-weight:700;
  color:#fff;
  line-height:1.2;
}

/* Ensure hero photo darkens to keep text safe */
.ttd-country-hero__bg[style] {
  background-color:#0d0d14;
}

@media(max-width:575px){
  .ttd-country-grid {
    grid-template-columns:repeat(auto-fill,minmax(130px,1fr));
  }
  .ttd-country-photo-card { height:110px; }
}
/* ── TTD: batch 3 country hero gradients ── */
.ttd-bento-card--se,.ttd-country-hero--se .ttd-country-hero__bg { background:linear-gradient(155deg,#1d3461 0%,#0d1b2a 55%,#060810 100%); }
.ttd-bento-card--no,.ttd-country-hero--no .ttd-country-hero__bg { background:linear-gradient(155deg,#7f1d1d 0%,#1d3461 50%,#060810 100%); }
.ttd-bento-card--dk,.ttd-country-hero--dk .ttd-country-hero__bg { background:linear-gradient(155deg,#7f1d1d 0%,#3d0e0e 55%,#0f0404 100%); }
.ttd-bento-card--pl,.ttd-country-hero--pl .ttd-country-hero__bg { background:linear-gradient(155deg,#7f1d1d 0%,#f8f8f8 50%,#1a0404 100%); }
.ttd-bento-card--nz,.ttd-country-hero--nz .ttd-country-hero__bg { background:linear-gradient(155deg,#1d3461 0%,#14532d 50%,#060e08 100%); }
.ttd-bento-card--sg,.ttd-country-hero--sg .ttd-country-hero__bg { background:linear-gradient(155deg,#7f1d1d 0%,#1a1a1a 55%,#0a0404 100%); }
.ttd-bento-card--my,.ttd-country-hero--my .ttd-country-hero__bg { background:linear-gradient(155deg,#1d3461 0%,#7f1d1d 50%,#060408 100%); }
.ttd-bento-card--th,.ttd-country-hero--th .ttd-country-hero__bg { background:linear-gradient(155deg,#1d3461 0%,#7f1d1d 40%,#f0f0f0 100%); }
.ttd-bento-card--hk,.ttd-country-hero--hk .ttd-country-hero__bg { background:linear-gradient(155deg,#881337 0%,#1a1a1a 55%,#0a0404 100%); }
.ttd-bento-card--mx,.ttd-country-hero--mx .ttd-country-hero__bg { background:linear-gradient(155deg,#14532d 0%,#7f1d1d 50%,#0a0404 100%); }
.ttd-bento-card--ae,.ttd-country-hero--ae .ttd-country-hero__bg { background:linear-gradient(155deg,#14532d 0%,#7c2d12 50%,#0a0800 100%); }
.ttd-bento-card--ch,.ttd-country-hero--ch .ttd-country-hero__bg { background:linear-gradient(155deg,#7f1d1d 0%,#1a1a1a 55%,#0a0404 100%); }
.ttd-bento-card--at,.ttd-country-hero--at .ttd-country-hero__bg { background:linear-gradient(155deg,#7f1d1d 0%,#1c1c1c 55%,#0a0404 100%); }
.ttd-bento-card--be,.ttd-country-hero--be .ttd-country-hero__bg { background:linear-gradient(155deg,#1a1a1a 0%,#78350f 40%,#7f1d1d 100%); }
.ttd-bento-card--cz,.ttd-country-hero--cz .ttd-country-hero__bg { background:linear-gradient(155deg,#1d3461 0%,#7f1d1d 50%,#080610 100%); }
.ttd-bento-card--gr,.ttd-country-hero--gr .ttd-country-hero__bg { background:linear-gradient(155deg,#1d3461 0%,#075985 50%,#04090f 100%); }
.ttd-bento-card--hu,.ttd-country-hero--hu .ttd-country-hero__bg { background:linear-gradient(155deg,#14532d 0%,#7f1d1d 50%,#0a0404 100%); }
.ttd-bento-card--ro,.ttd-country-hero--ro .ttd-country-hero__bg { background:linear-gradient(155deg,#1d3461 0%,#78350f 40%,#14532d 100%); }
.ttd-bento-card--fi,.ttd-country-hero--fi .ttd-country-hero__bg { background:linear-gradient(155deg,#1d3461 0%,#0f172a 55%,#04060f 100%); }
.ttd-country-hero--se .ttd-country-hero__glow { background:#1d3461; }
.ttd-country-hero--no .ttd-country-hero__glow { background:#7f1d1d; }
.ttd-country-hero--dk .ttd-country-hero__glow { background:#7f1d1d; }
.ttd-country-hero--pl .ttd-country-hero__glow { background:#7f1d1d; }
.ttd-country-hero--nz .ttd-country-hero__glow { background:#1d3461; }
.ttd-country-hero--sg .ttd-country-hero__glow { background:#7f1d1d; }
.ttd-country-hero--my .ttd-country-hero__glow { background:#1d3461; }
.ttd-country-hero--th .ttd-country-hero__glow { background:#1d3461; }
.ttd-country-hero--hk .ttd-country-hero__glow { background:#881337; }
.ttd-country-hero--mx .ttd-country-hero__glow { background:#14532d; }
.ttd-country-hero--ae .ttd-country-hero__glow { background:#14532d; }
.ttd-country-hero--ch .ttd-country-hero__glow { background:#7f1d1d; }
.ttd-country-hero--at .ttd-country-hero__glow { background:#7f1d1d; }
.ttd-country-hero--be .ttd-country-hero__glow { background:#78350f; }
.ttd-country-hero--cz .ttd-country-hero__glow { background:#1d3461; }
.ttd-country-hero--gr .ttd-country-hero__glow { background:#075985; }
.ttd-country-hero--hu .ttd-country-hero__glow { background:#7f1d1d; }
.ttd-country-hero--ro .ttd-country-hero__glow { background:#1d3461; }

/* ── City grid (shared between country page and city siblings) ── */
.ttd-city-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
    gap:1rem;
}
.ttd-city-card {
    position:relative;
    display:flex;
    align-items:flex-end;
    height:160px;
    border-radius:14px;
    overflow:hidden;
    background:#0f0f18;
    background-size:cover;
    background-position:center;
    text-decoration:none;
    transition:transform .25s,box-shadow .25s;
}
.ttd-city-card:hover { transform:translateY(-4px);box-shadow:0 14px 40px rgba(0,0,0,.22); }
.ttd-city-card__overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(6,6,15,.82) 0%,rgba(6,6,15,.1) 100%);
    transition:background .25s;
}
.ttd-city-card:hover .ttd-city-card__overlay { background:linear-gradient(to top,rgba(6,6,15,.9) 0%,rgba(6,6,15,.2) 100%); }
.ttd-city-card__content {
    position:relative;
    z-index:1;
    padding:.85rem 1rem;
    width:100%;
    display:flex;
    flex-direction:column;
    gap:.2rem;
}
.ttd-city-card__name {
    font-size:1rem;
    font-weight:800;
    color:#fff;
    letter-spacing:-.01em;
    line-height:1.2;
}
.ttd-city-card__explore {
    font-size:.72rem;
    font-weight:600;
    color:rgba(255,255,255,.5);
    display:flex;
    align-items:center;
    gap:.35rem;
    letter-spacing:.04em;
    text-transform:uppercase;
    transition:color .2s,gap .2s;
}
.ttd-city-card:hover .ttd-city-card__explore { color:#f87171;gap:.55rem; }

/* ── Country cities section (on country page) ── */
.ttd-country-cities { padding:3.5rem 0 4rem; }
.ttd-country-cities .ttd-sh { margin-bottom:1.75rem; }

/* ── Responsive ── */
@media(max-width:768px) {
    .ttd-city-grid { grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); }
    .ttd-city-card { height:130px; }
}
.ttd-country-hero--fi .ttd-country-hero__glow { background:#1d3461; }


/* ============================================================
   THINGS TO DO LANDING + COUNTRY REFRESH
   Overrides the older ttd visual system above.
   ============================================================ */
.ttd-index-page,
.ttd-country-page {
    --ttd-ink: #151111;
    --ttd-muted: #6f625f;
    --ttd-soft: #f7f2ef;
    --ttd-paper: #fff;
    --ttd-line: rgba(45, 30, 25, .12);
    --ttd-red: #8f0202;
    --ttd-red-dark: #5f0101;
    --ttd-gold: #c89435;
    --ttd-forest: #17433a;
    --ttd-shadow: 0 18px 48px rgba(44, 25, 18, .12);
    background: var(--ttd-paper);
    color: var(--ttd-ink);
}

.ttd-index-page main,
.ttd-country-page main {
    background:
        linear-gradient(180deg, #fff 0%, #fff 42%, var(--ttd-soft) 100%);
}

.ttd-btn-primary,
.ttd-btn-outline {
    min-height: 46px;
    border-radius: 999px;
    letter-spacing: 0;
}

.ttd-btn-primary {
    background: var(--ttd-red);
    box-shadow: 0 12px 24px rgba(143, 2, 2, .18);
}

.ttd-btn-primary:hover {
    background: var(--ttd-red-dark);
    box-shadow: 0 16px 30px rgba(143, 2, 2, .24);
}

.ttd-btn-outline {
    color: var(--ttd-ink);
    border-color: rgba(21, 17, 17, .18);
    background: rgba(255, 255, 255, .74);
}

.ttd-btn-outline:hover {
    color: var(--ttd-red);
    border-color: rgba(143, 2, 2, .28);
    background: #fff;
}

.ttd-hero {
    min-height: 620px;
    padding: 70px 0 86px;
    text-align: left;
    background:
        linear-gradient(135deg, #fff 0%, #fff7f4 44%, #f1e5dc 100%);
    isolation: isolate;
}

.ttd-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(143, 2, 2, .06), transparent 44%),
        radial-gradient(circle at 88% 12%, rgba(200, 148, 53, .18), transparent 34%);
}

.ttd-hero__inner {
    position: relative;
    z-index: 1;
    max-width: none;
}

.ttd-hero__layout {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
    gap: 54px;
    align-items: center;
}

.ttd-hero__copy {
    max-width: 610px;
}

.ttd-hero__eyebrow,
.ttd-country-cta__label,
.ttd-sh__label {
    letter-spacing: 0;
}

.ttd-hero__eyebrow {
    background: transparent;
    border: 0;
    color: var(--ttd-red);
    padding: 0;
    margin-bottom: 18px;
    font-size: .82rem;
    text-transform: none;
}

.ttd-hero__h1 {
    color: var(--ttd-ink);
    font-size: 4.35rem;
    line-height: .98;
    letter-spacing: 0;
    margin-bottom: 24px;
}

.ttd-hero__h1-accent {
    color: var(--ttd-red);
    background: none;
    -webkit-text-fill-color: currentColor;
}

.ttd-hero__sub {
    color: var(--ttd-muted);
    font-size: 1.08rem;
    line-height: 1.75;
    max-width: 560px;
    margin: 0 0 30px;
}

.ttd-hero__actions {
    justify-content: flex-start;
    margin-bottom: 18px;
}

.ttd-hero__note {
    color: var(--ttd-muted);
}

.ttd-hero__note a {
    color: var(--ttd-red);
}

.ttd-hero__visual {
    position: relative;
    min-height: 520px;
}

.ttd-hero__visual::before {
    content: "";
    position: absolute;
    inset: 28px 18px 28px 70px;
    border: 1px solid rgba(143, 2, 2, .12);
    background: rgba(255, 255, 255, .45);
    box-shadow: var(--ttd-shadow);
    transform: rotate(-2deg);
}

.ttd-hero__photo {
    position: absolute;
    overflow: hidden;
    border: 6px solid #fff;
    background-color: #2b1b18;
    background-size: cover;
    background-position: center;
    box-shadow: 0 18px 40px rgba(36, 20, 14, .2);
    cursor: pointer;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease;
}

.ttd-hero__photo:hover,
.ttd-hero__photo:focus-visible {
    transform: translateY(-4px) rotate(0deg);
    box-shadow: 0 24px 50px rgba(36, 20, 14, .26);
}

.ttd-hero__photo:focus-visible {
    outline: 3px solid rgba(143, 2, 2, .42);
    outline-offset: 4px;
}

.ttd-hero__photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, .42), transparent 56%);
}

.ttd-hero__photo > img {
    position: absolute;
    right: 14px;
    bottom: 12px;
    z-index: 1;
    width: 34px;
    height: 24px;
    object-fit: cover;
    border-radius: 4px;
    border: 2px solid rgba(255, 255, 255, .92);
    box-shadow: 0 8px 16px rgba(0, 0, 0, .28);
}

.ttd-hero__photo--0 {
    width: 56%;
    height: 58%;
    left: 2%;
    top: 6%;
}

.ttd-hero__photo--1 {
    width: 42%;
    height: 34%;
    right: 2%;
    top: 0;
}

.ttd-hero__photo--2 {
    width: 34%;
    height: 35%;
    right: 10%;
    bottom: 18%;
}

.ttd-hero__photo--3 {
    width: 34%;
    height: 26%;
    left: 18%;
    bottom: 4%;
}

.ttd-hero__photo--4 {
    width: 22%;
    height: 24%;
    right: 0;
    bottom: 2%;
}

.ttd-intro {
    padding: 70px 0 48px;
    background: #fff;
}

.ttd-intro__inner {
    max-width: 820px;
    text-align: left;
    border-left: 4px solid var(--ttd-red);
    padding-left: 28px;
}

.ttd-sh {
    margin-bottom: 30px;
}

.ttd-sh__label {
    color: var(--ttd-red);
    font-size: .86rem;
    text-transform: none;
    font-weight: 700;
}

.ttd-sh__h2,
.ttd-article__section-title {
    color: var(--ttd-ink);
    letter-spacing: 0;
}

.ttd-sh__h2 {
    font-size: 2rem;
    line-height: 1.15;
}

.ttd-sh__sub,
.ttd-intro__body {
    color: var(--ttd-muted);
}

.ttd-dest {
    padding: 34px 0 76px;
    background: #171111;
}

.ttd-dest__header {
    padding: 38px 0 24px;
}

.ttd-dest .ttd-sh__h2 {
    color: #fff;
}

.ttd-dest .ttd-sh__sub {
    color: rgba(255, 255, 255, .68);
}

.ttd-dest .ttd-sh__label {
    color: #f2b85e;
}

.ttd-bento {
    grid-template-columns: 1.25fr 1fr 1fr;
    grid-template-rows: 270px 270px;
    gap: 16px;
}

.ttd-bento-card,
.ttd-country-photo-card,
.ttd-city-card {
    border-radius: 8px;
}

.ttd-bento-card {
    padding: 24px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08);
}

.ttd-bento-card:hover,
.ttd-country-photo-card:hover,
.ttd-city-card:hover {
    transform: translateY(-5px);
}

.ttd-bento-card__overlay,
.ttd-country-photo-card__overlay,
.ttd-city-card__overlay {
    background: linear-gradient(to top, rgba(11, 7, 7, .88) 0%, rgba(11, 7, 7, .26) 58%, rgba(11, 7, 7, .08) 100%);
}

.ttd-bento-card__name,
.ttd-country-photo-card__name,
.ttd-city-card__name {
    letter-spacing: 0;
}

.ttd-bento-card__bg-flag,
.ttd-country-hero__flag {
    display: none;
}

.ttd-bento-card__flag,
.ttd-country-photo-card__flag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 30px;
    margin-bottom: 12px;
    overflow: hidden;
    border-radius: 5px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 10px 20px rgba(0, 0, 0, .22);
}

.ttd-bento-card__flag img,
.ttd-country-photo-card__flag img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ttd-bento-card__explore,
.ttd-city-card__explore {
    letter-spacing: 0;
    text-transform: none;
}

.ttd-cats {
    padding: 74px 0;
    background: var(--ttd-soft);
}

.ttd-cats__list {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}

.ttd-cat-item {
    align-items: flex-start;
    text-align: left;
    min-height: 146px;
    padding: 20px;
    background: #fff;
    border: 1px solid var(--ttd-line);
    border-radius: 8px;
    box-shadow: 0 10px 26px rgba(48, 28, 18, .06);
}

.ttd-cat-item:hover {
    border-color: rgba(143, 2, 2, .32);
    box-shadow: var(--ttd-shadow);
}

.ttd-cat-item__icon {
    background: #fff3ec;
    color: var(--ttd-red);
    border-radius: 8px;
}

.ttd-cat-item__label {
    color: var(--ttd-ink);
    font-size: .92rem;
}

.ttd-all-countries,
.ttd-country-cities {
    padding: 72px 0 82px;
    background: #fff;
}

.ttd-country-grid {
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 16px;
}

.ttd-country-photo-card {
    height: 172px;
    box-shadow: 0 12px 28px rgba(35, 20, 14, .12);
}

.ttd-country-photo-card__content {
    padding: 16px;
}

.ttd-country-photo-card__name {
    font-size: 1rem;
}

.ttd-country-hero {
    min-height: 640px;
    padding: 0 0 76px;
    background: #151111;
}

.ttd-country-hero__bg {
    background-size: cover;
    background-position: center;
    transform: scale(1.02);
}

.ttd-country-hero__bg::after {
    background:
        linear-gradient(90deg, rgba(12, 8, 8, .92) 0%, rgba(12, 8, 8, .6) 45%, rgba(12, 8, 8, .18) 100%),
        linear-gradient(to top, rgba(12, 8, 8, .82) 0%, transparent 55%);
}

.ttd-country-hero__glow {
    display: none;
}

.ttd-crumb {
    padding: 20px 0;
}

.ttd-crumb--on-dark {
    border-bottom-color: rgba(255, 255, 255, .12);
}

.ttd-crumb--on-dark .ttd-crumb__back {
    color: rgba(255, 255, 255, .82);
}

.ttd-country-hero__inner {
    max-width: 760px;
}

.ttd-country-hero__flag {
    display: none;
}

.ttd-country-hero__h1 {
    font-size: 4rem;
    line-height: 1.04;
    letter-spacing: 0;
}

.ttd-country-hero__intro {
    color: rgba(255, 255, 255, .82);
    font-size: 1.12rem;
    max-width: 680px;
}

.ttd-country-title {
    padding: 54px 0 34px;
    background: linear-gradient(180deg, #fff 0%, #fff7f4 100%);
    border-bottom: 1px solid var(--ttd-line);
}

.ttd-country-title__nav {
    margin-bottom: 22px;
}

.ttd-country-title__back {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: var(--ttd-red);
    font-size: .92rem;
    font-weight: 700;
    text-decoration: none;
}

.ttd-country-title__back:hover {
    color: var(--ttd-red-dark);
}

.ttd-country-title__h1 {
    max-width: 840px;
    margin: 0;
    color: var(--ttd-ink);
    font-size: 3.4rem;
    line-height: 1.05;
    letter-spacing: 0;
    font-weight: 900;
}

.ttd-country-story {
    padding: 66px 0 44px;
    background: #fff;
}

.ttd-country-story .container::after {
    content: "";
    display: table;
    clear: both;
}

.ttd-country-story__media {
    float: right;
    width: min(44%, 480px);
    margin: 4px 0 28px 42px;
    overflow: hidden;
    border-radius: 8px;
    background: #201414;
    box-shadow: var(--ttd-shadow);
}

.ttd-country-story__media img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.ttd-country-story__content {
    max-width: 980px;
}

.ttd-country-story__intro {
    margin: 0 0 30px;
    color: var(--ttd-ink);
    font-size: 1.2rem;
    line-height: 1.8;
}

.ttd-country-story .ttd-article__section {
    display: block;
    min-height: 0;
    padding: 0;
    margin: 0 0 30px;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.ttd-country-story .ttd-article__section-icon {
    float: left;
    width: 34px;
    height: 34px;
    margin: 2px 14px 6px 0;
    border-radius: 8px;
}

.ttd-country-story .ttd-article__section-title {
    margin: 0 0 8px;
    font-size: 1.24rem;
}

.ttd-country-story .ttd-article__section-body {
    margin: 0;
    color: var(--ttd-muted);
    font-size: 1rem;
    line-height: 1.86;
}

.ttd-article {
    padding: 78px 0 54px;
    background: #fff;
}

.ttd-article__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ttd-article__section {
    min-height: 100%;
    padding: 26px;
    background: var(--ttd-soft);
    border: 1px solid var(--ttd-line);
    border-radius: 8px;
}

.ttd-article__section-icon {
    background: #fff;
    color: var(--ttd-red);
    box-shadow: 0 8px 18px rgba(143, 2, 2, .08);
}

.ttd-article__section-title {
    font-size: 1.08rem;
}

.ttd-article__section-body {
    color: var(--ttd-muted);
}

.ttd-city-grid {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 16px;
}

.ttd-city-card {
    height: 190px;
    box-shadow: 0 12px 28px rgba(35, 20, 14, .14);
}

.ttd-country-cta {
    background:
        linear-gradient(135deg, #170d0d 0%, #3b0606 58%, #160d0a 100%);
    padding: 80px 0;
}

.ttd-country-cta::before {
    display: none;
}

.ttd-country-cta__inner {
    max-width: 680px;
}

.ttd-country-cta__h2 {
    font-size: 2.25rem;
    letter-spacing: 0;
}

.ttd-country-return {
    padding: 42px 0 58px;
    background: #fff;
}

.ttd-country-return__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 26px;
    border: 1px solid var(--ttd-line);
    border-radius: 8px;
    background: var(--ttd-soft);
}

.ttd-country-return__h2 {
    margin: 0;
    color: var(--ttd-ink);
    font-size: 1.4rem;
    line-height: 1.2;
    font-weight: 850;
    letter-spacing: 0;
}

@media (max-width: 991px) {
    .ttd-hero {
        min-height: auto;
        padding: 56px 0 70px;
    }

    .ttd-hero__layout {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .ttd-hero__visual {
        min-height: 360px;
    }

    .ttd-hero__h1,
    .ttd-country-hero__h1 {
        font-size: 3.1rem;
    }

    .ttd-bento {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: 240px 240px 240px;
    }

    .ttd-cats__list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ttd-article__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ttd-country-story__media {
        width: min(48%, 420px);
        margin-left: 30px;
    }
}

@media (max-width: 767px) {
    .ttd-hero {
        padding: 42px 0 56px;
    }

    .ttd-hero__h1,
    .ttd-country-hero__h1 {
        font-size: 2.45rem;
    }

    .ttd-hero__visual {
        min-height: 300px;
    }

    .ttd-hero__visual::before {
        inset: 24px 10px 18px 36px;
    }

    .ttd-bento {
        grid-template-columns: 1fr;
        grid-template-rows: none;
    }

    .ttd-bento-card,
    .ttd-bento-card:first-child {
        min-height: 220px;
        grid-column: auto;
        grid-row: auto;
    }

    .ttd-cats__list,
    .ttd-article__grid {
        grid-template-columns: 1fr;
    }

    .ttd-country-hero {
        min-height: 520px;
        padding-bottom: 48px;
    }

    .ttd-country-title {
        padding: 76px 0 28px;
    }

    .ttd-country-title__h1 {
        font-size: 2.35rem;
    }

    .ttd-country-story {
        padding: 38px 0 30px;
    }

    .ttd-country-story__media {
        float: none;
        width: 100%;
        margin: 0 0 28px;
    }

    .ttd-country-return__inner {
        align-items: stretch;
        flex-direction: column;
    }

    .ttd-country-grid,
    .ttd-city-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 479px) {
    .ttd-hero__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ttd-btn-primary,
    .ttd-btn-outline {
        justify-content: center;
    }

    .ttd-hero__photo--4 {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ttd-bento-card,
    .ttd-country-photo-card,
    .ttd-city-card,
    .ttd-cat-item,
    .ttd-btn-primary {
        transition: none;
    }
}


/* ============================================================
   SHOWRAVE THINGS TO DO CITY REDESIGN
   ============================================================ */
.sr-ttdc {
            --city-ink: #111118;
            --city-muted: #6b7280;
            --city-soft: #f5f1ea;
            --city-paper: #fffaf2;
            --city-red: #df2336;
            --city-red-dark: #8d111d;
            --city-gold: #d59a32;
            --city-blue: #15304a;
            --city-border: rgba(17, 17, 24, .1);
            background: var(--city-paper);
            color: var(--city-ink);
            flex: 0 0 auto;
            overflow: visible;
            width: 100%;
        }
        .sr-ttdc a { text-decoration: none; }
        .sr-ttdc-shell {
            width: min(1160px, calc(100% - 40px));
            margin: 0 auto;
        }
        .sr-ttdc-crumb {
            position: relative;
            z-index: 2;
            padding: 18px 0 0;
        }
        .sr-ttdc-crumb__trail {
            list-style: none;
            margin: 0;
            padding: 0;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 4px 0;
        }
        .sr-ttdc-crumb__trail li {
            display: flex;
            align-items: center;
            font-size: 13px;
            font-weight: 700;
            letter-spacing: .01em;
            color: rgba(255, 250, 242, .45);
        }
        .sr-ttdc-crumb__trail li + li::before {
            content: "/";
            margin: 0 8px;
            color: rgba(255, 250, 242, .3);
        }
        .sr-ttdc-crumb__trail a {
            color: rgba(255, 250, 242, .74);
        }
        .sr-ttdc-crumb__trail a:hover { color: #fff; }
        .sr-ttdc-hero {
            position: relative;
            min-height: 640px;
            padding: 0 0 76px;
            background:
                radial-gradient(circle at 78% 18%, rgba(223, 35, 54, .38), transparent 30%),
                radial-gradient(circle at 20% 82%, rgba(213, 154, 50, .22), transparent 28%),
                linear-gradient(140deg, #111118 0%, #1f1421 48%, #081c2d 100%);
            isolation: isolate;
        }
        .sr-ttdc-hero::after {
            content: "";
            position: absolute;
            inset: 0;
            pointer-events: none;
            background-image: radial-gradient(rgba(255, 255, 255, .11) 1px, transparent 1px);
            background-size: 24px 24px;
            mask-image: linear-gradient(to bottom, #000 0%, transparent 78%);
            opacity: .55;
            z-index: -1;
        }
        .sr-ttdc-hero-grid {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(320px, 470px);
            gap: 54px;
            align-items: end;
            padding-top: 82px;
        }
        .sr-ttdc-hero-copy { color: #fffaf2; }
        .sr-ttdc-hero h1 {
            margin: 0;
            max-width: 760px;
            color: #fffaf2;
            font-size: clamp(54px, 8vw, 60px);
            line-height: 1;
            letter-spacing: -0.055em;
            font-weight: 448;
        }
        .sr-ttdc-hero h1 span {
            display: block;
            color: var(--city-gold);
            font-style: italic;
        }
        .sr-ttdc-hero-lead {
            max-width: 620px;
            margin: 26px 0 0;
            font-size: clamp(17px, 1.6vw, 21px);
            line-height: 1.65;
            color: rgba(255, 250, 242, .76);
        }
        .sr-ttdc-hero-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 14px;
            align-items: center;
            margin-top: 34px;
        }
        .sr-ttdc-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            min-height: 48px;
            padding: 0 20px;
            border-radius: 999px;
            border: 1px solid transparent;
            font-size: 14px;
            font-weight: 448;
            transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
        }
        .sr-ttdc-btn:hover { transform: translateY(-2px); }
        .sr-ttdc-btn--primary {
            color: #fff;
            background: var(--city-red);
            box-shadow: 0 18px 40px rgba(223, 35, 54, .26);
        }
        .sr-ttdc-btn--ghost {
            color: rgba(255, 250, 242, .84);
            border-color: rgba(255, 250, 242, .22);
            background: rgba(255, 255, 255, .06);
        }
        .sr-ttdc-media {
            position: relative;
            min-height: 520px;
        }
        .sr-ttdc-photo {
            position: absolute;
            inset: 0 0 58px;
            border-radius: 34px;
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, .16);
            box-shadow: 0 34px 90px rgba(0, 0, 0, .48);
            background:
                linear-gradient(135deg, rgba(223, 35, 54, .28), rgba(21, 48, 74, .5)),
                #172033;
        }
        .sr-ttdc-photo img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .sr-ttdc-photo--empty {
            display: grid;
            place-items: center;
            color: rgba(255, 250, 242, .82);
            font-size: 96px;
        }
        .sr-ttdc-photo::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(7, 12, 18, .58), transparent 54%);
        }
        .sr-ttdc-pass {
            position: absolute;
            left: -28px;
            right: 34px;
            bottom: 0;
            display: flex;
            align-items: center;
            gap: 16px;
            padding: 18px 20px;
            border-radius: 22px;
            background: rgba(255, 250, 242, .94);
            color: var(--city-ink);
            box-shadow: 0 24px 62px rgba(0, 0, 0, .35);
        }
.sr-ttdc-pass__mark {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: #fff;
    font-size: 38px;
    line-height: 1;
    box-shadow: inset 0 0 0 1px rgba(17, 17, 24, .08);
    overflow: hidden;
    text-align: center;
}
.sr-ttdc-pass__mark img,
.sr-ttdc-pass__mark .emoji {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    margin: 0 !important;
}
        .sr-ttdc-pass strong {
            display: block;
            font-size: 16px;
            line-height: 1.15;
        }
.sr-ttdc-pass span {
    display: block;
    margin-top: 3px;
    color: var(--city-muted);
    font-size: 13px;
    line-height: 1.35;
}
.sr-ttdc-pass > .sr-ttdc-pass__mark {
    display: grid;
    margin-top: 0;
    color: inherit;
    font-size: 38px;
    line-height: 1;
}
        .sr-ttdc-intro {
            position: relative;
            z-index: 3;
            margin-top: -38px;
        }
        .sr-ttdc-intro-card {
            display: grid;
            grid-template-columns: 1fr auto;
            gap: 28px;
            align-items: center;
            padding: 28px;
            border-radius: 26px;
            background: #fff;
            border: 1px solid var(--city-border);
            box-shadow: 0 24px 70px rgba(17, 17, 24, .1);
        }
        .sr-ttdc-intro-card h2 {
            margin: 0 0 8px;
            font-size: clamp(24px, 3vw, 38px);
            line-height: 1.06;
            letter-spacing: -0.035em;
            font-weight: 599;
        }
        .sr-ttdc-intro-card p {
            max-width: 760px;
            margin: 0;
            color: var(--city-muted);
            font-size: 16px;
            line-height: 1.7;
        }
        .sr-ttdc-pulse {
            width: 116px;
            height: 78px;
            position: relative;
            border-radius: 20px;
            background:
                radial-gradient(circle at 24px 40px, var(--city-red) 0 5px, transparent 6px),
                radial-gradient(circle at 58px 24px, var(--city-gold) 0 5px, transparent 6px),
                radial-gradient(circle at 92px 48px, var(--city-blue) 0 5px, transparent 6px),
                #f6f1e9;
        }
        .sr-ttdc-pulse i {
            position: absolute;
            width: 12px;
            height: 12px;
            border-radius: 50%;
            border: 1px solid currentColor;
            opacity: .38;
            animation: srTtdcPulse 2.6s ease-in-out infinite;
        }
        .sr-ttdc-pulse i:nth-child(1) { left: 18px; top: 34px; color: var(--city-red); }
        .sr-ttdc-pulse i:nth-child(2) { left: 52px; top: 18px; color: var(--city-gold); animation-delay: .4s; }
        .sr-ttdc-pulse i:nth-child(3) { right: 18px; top: 42px; color: var(--city-blue); animation-delay: .8s; }
        @keyframes srTtdcPulse {
            0%, 100% { transform: scale(.7); opacity: .18; }
            50% { transform: scale(2.8); opacity: .02; }
        }
        .sr-ttdc-body {
            padding: 76px 0;
        }
        .sr-ttdc-sections {
            display: grid;
            gap: 22px;
        }
        .sr-ttdc-section {
            position: relative;
            display: flex;
            gap: 28px;
            padding: 40px;
            border: 1px solid var(--city-border);
            border-radius: 28px;
            background: #fff;
            box-shadow: 0 18px 46px rgba(17, 17, 24, .055);
            scroll-margin-top: 110px;
        }
        .sr-ttdc-section__icon {
            width: 58px;
            height: 58px;
            display: grid;
            place-items: center;
            border-radius: 20px;
            color: var(--city-red);
            background: rgba(223, 35, 54, .09);
            font-size: 20px;
        }
        .sr-ttdc-section h2 {
            margin: 0 0 12px;
            font-size: clamp(24px, 2.8vw, 26px);
            line-height: 1.08;
            letter-spacing: -0.035em;
            font-weight: 599;
        }
        .sr-ttdc-section p {
            margin: 0;
            color: #4b5563;
            font-size: 17px;
            line-height: 1.86;
        }
        .sr-ttdc-empty {
            padding: 36px;
            border-radius: 28px;
            background: #fff;
            border: 1px solid var(--city-border);
            box-shadow: 0 18px 46px rgba(17, 17, 24, .055);
        }
        .sr-ttdc-empty p {
            margin: 0 0 22px;
            color: var(--city-muted);
            font-size: 16px;
            line-height: 1.7;
        }
        .sr-ttdc-siblings {
            padding: 76px 0;
            background: #111118;
            color: #fffaf2;
        }
        .sr-ttdc-section-head {
            display: flex;
            justify-content: space-between;
            align-items: end;
            gap: 24px;
            margin-bottom: 28px;
        }
        .sr-ttdc-section-head h2 {
            margin: 0;
            max-width: 720px;
            font-size: clamp(30px, 4vw, 54px);
            line-height: 1;
            letter-spacing: -0.045em;
            font-weight: 599;
        }
        .sr-ttdc-city-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 16px;
        }
        .sr-ttdc-city-card {
            position: relative;
            min-height: 176px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            padding: 20px;
            border-radius: 24px;
            overflow: hidden;
            color: #fff;
            isolation: isolate;
            transition: transform .2s ease, box-shadow .2s ease;
        }
        .sr-ttdc-city-card:hover {
            color: #fff;
            transform: translateY(-4px);
            box-shadow: 0 28px 70px rgba(0, 0, 0, .28);
        }
        .sr-ttdc-city-card::before,
        .sr-ttdc-city-card::after {
            content: "";
            position: absolute;
            width: 14px;
            height: 14px;
            border-radius: 50%;
            background: rgba(255, 255, 255, .8);
            box-shadow: 0 0 0 0 rgba(255, 255, 255, .25);
            animation: srTtdcBeacon 2.7s ease-out infinite;
            z-index: -1;
        }
        .sr-ttdc-city-card::before { right: 22px; top: 22px; }
        .sr-ttdc-city-card::after { right: 58px; top: 56px; animation-delay: .9s; opacity: .6; }
        @keyframes srTtdcBeacon {
            0% { box-shadow: 0 0 0 0 rgba(255,255,255,.34); }
            100% { box-shadow: 0 0 0 24px rgba(255,255,255,0); }
        }
        .sr-ttdc-city-card strong {
            max-width: 80%;
            font-size: 25px;
            line-height: 1.02;
            letter-spacing: -0.035em;
            font-weight: 599;
        }
        .sr-ttdc-city-card span {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: rgba(255, 255, 255, .76);
            font-size: 13px;
            font-weight: 448;
        }
        .sr-ttdc-final {
            padding: 78px 0;
            background: var(--city-paper);
        }
        .sr-ttdc-final-card {
            display: grid;
            grid-template-columns: 1fr auto;
            gap: 28px;
            align-items: center;
            padding: 38px;
            border-radius: 30px;
            background:
                radial-gradient(circle at 86% 16%, rgba(213, 154, 50, .28), transparent 34%),
                linear-gradient(135deg, #1b1821, #711322);
            color: #fffaf2;
            box-shadow: 0 28px 74px rgba(113, 19, 34, .22);
        }
        .sr-ttdc-final-card h2 {
            margin: 0 0 10px;
            font-size: clamp(28px, 4vw, 52px);
            line-height: 1;
            letter-spacing: -0.045em;
            font-weight: 599;
        }
        .sr-ttdc-final-card p {
            max-width: 640px;
            margin: 0;
            color: rgba(255, 250, 242, .7);
            line-height: 1.65;
        }
        .sr-ttdc-organise {
            margin-top: 16px;
            color: rgba(255, 250, 242, .56);
            font-size: 13px;
        }
        .sr-ttdc-organise a {
            color: #fff;
            text-decoration: underline;
            text-underline-offset: 3px;
        }
        .sr-ttdc-countries {
            padding: 64px 0;
            background: #0d0d14;
            color: #fffaf2;
        }
        .sr-ttdc-country-list {
            list-style: none;
            margin: 0;
            padding: 0;
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
        }
        .sr-ttdc-country-pill {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            padding: 9px 16px;
            border-radius: 100px;
            background: rgba(255, 250, 242, .07);
            color: rgba(255, 250, 242, .8);
            font-size: 14px;
            font-weight: 600;
            border: 1px solid rgba(255, 250, 242, .1);
            transition: background .18s ease, color .18s ease, border-color .18s ease;
        }
        .sr-ttdc-country-pill:hover {
            background: rgba(255, 250, 242, .14);
            color: #fff;
            border-color: rgba(255, 250, 242, .24);
        }
        @media (max-width: 980px) {
            .sr-ttdc-hero { min-height: auto; padding-bottom: 92px; }
            .sr-ttdc-hero-grid,
            .sr-ttdc-final-card,
            .sr-ttdc-intro-card {
                grid-template-columns: 1fr;
            }
            .sr-ttdc-media { min-height: 390px; }
            .sr-ttdc-pass { left: 18px; right: 18px; }
            .sr-ttdc-city-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        }
        @media (max-width: 640px) {
            .sr-ttdc-shell { width: min(100% - 28px, 1160px); }
            .sr-ttdc-hero-grid { gap: 34px; padding-top: 54px; }
            .sr-ttdc-hero h1 { font-size: clamp(28px, 10vw, 44px); }
            .sr-ttdc-media { min-height: 310px; }
            .sr-ttdc-photo { inset: 0 0 46px; border-radius: 26px; }
            .sr-ttdc-pass { gap: 12px; padding: 14px; border-radius: 18px; }
            .sr-ttdc-pass__mark { width: 42px; height: 42px; flex-basis: 42px; }
            .sr-ttdc-body,
            .sr-ttdc-siblings,
            .sr-ttdc-countries,
            .sr-ttdc-final { padding: 54px 0; }
            .sr-ttdc-section {
                flex-direction: column;
                gap: 16px;
                padding: 24px;
                border-radius: 24px;
            }
            .sr-ttdc-section-head { align-items: start; flex-direction: column; }
            .sr-ttdc-city-grid { grid-template-columns: 1fr; }
            .sr-ttdc-final-card { padding: 26px; border-radius: 24px; }
            .sr-ttdc-pulse { display: none; }
        }
        @media (prefers-reduced-motion: reduce) {
            .sr-ttdc *, .sr-ttdc *::before, .sr-ttdc *::after {
                animation: none !important;
                transition: none !important;
            }
        }

.sr-dm-header-action {
  position: relative;
}

.sr-dm-header-link {
  border: 0;
  background: transparent;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  color: inherit;
  text-decoration: none;
}

.sr-dm-header-link:hover,
.sr-dm-header-link:focus {
  background: rgba(26, 86, 219, .08);
  color: inherit;
}

.sr-dm-header-badge {
  position: absolute;
  top: 4px;
  right: 3px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #dc2626;
  color: #fff;
  font-size: 11px;
  line-height: 18px;
  text-align: center;
  border: 2px solid #fff;
}

.sr-dm-shell {
  max-width: 1180px;
  margin: 0 auto;
  padding: 28px 16px 56px;
}

.sr-dm-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.sr-dm-heading h1 {
  margin: 0;
  font-size: 28px;
  line-height: 1.2;
}

.sr-dm-heading h2 {
  margin: 0;
  font-size: 20px;
  line-height: 1.25;
}

.sr-dm-heading p {
  margin: 4px 0 0;
  color: #6b7280;
}

.sr-dm-heading-compact {
  margin-bottom: 14px;
}

.sr-dm-settings {
  padding: 18px;
  margin-bottom: 18px;
}

.sr-dm-delivery-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.sr-dm-delivery-option {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 104px;
  padding: 14px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #f8fafc;
  cursor: pointer;
}

.sr-dm-delivery-option input {
  margin-top: 3px;
}

.sr-dm-delivery-option:has(input:checked) {
  border-color: #6e0000;
  background: #fff5f5;
  box-shadow: 0 0 0 3px rgba(110, 0, 0, 0.08);
}

.sr-dm-delivery-option strong,
.sr-dm-delivery-option small {
  display: block;
}

.sr-dm-delivery-option strong {
  color: #111827;
  line-height: 1.25;
}

.sr-dm-delivery-option small {
  margin-top: 6px;
  color: #6b7280;
  line-height: 1.35;
}

.sr-dm-list {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.sr-dm-thread-card {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 74px;
  padding: 14px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  color: #111827;
  text-decoration: none;
  overflow: hidden;
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.sr-dm-thread-card:hover {
  color: #111827;
  background: #f8fafc;
  border-color: #d1d5db;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.sr-dm-thread-card.is-unread {
  border-color: #fecaca;
  background: #fffafa;
}

.sr-dm-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eef2ff;
  color: #6e0000;
  font-weight: 700;
  flex: 0 0 auto;
}

.sr-dm-thread-body {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
}

.sr-dm-thread-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  max-width: 100%;
  min-width: 0;
}

.sr-dm-thread-title > span:first-child {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sr-dm-thread-preview {
  display: block;
  width: 100%;
  max-width: 100%;
  color: #6b7280;
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sr-dm-thread-side {
  display: inline-flex;
  align-items: flex-end;
  flex-direction: column;
  gap: 8px;
  min-width: max-content;
  flex: 0 0 auto;
}

.sr-dm-thread-time {
  color: #6b7280;
  font-size: 12px;
  white-space: nowrap;
}

.sr-dm-unread-pill,
.sr-dm-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  background: #dc2626;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}

.sr-dm-status-pill {
  background: #fef3c7;
  color: #92400e;
}

.sr-dm-panel {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.05);
}

.sr-dm-messages {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 420px;
  max-height: 62vh;
  overflow: auto;
  padding: 22px;
  background: #f8fafc;
}

.sr-dm-bubble {
  align-self: flex-start;
  max-width: min(680px, 78%);
  padding: 11px 13px;
  border: 1px solid #e5e7eb;
  border-radius: 8px 8px 8px 2px;
  background: #fff;
  color: #111827;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.sr-dm-bubble.is-own,
.sr-dm-bubble.is-participant-b {
  align-self: flex-end;
  background: #6e0000;
  border-color: #6e0000;
  color: #fff;
  border-radius: 8px 8px 2px 8px;
}

.sr-dm-bubble.is-participant-a {
  align-self: flex-start;
}

.sr-dm-message-meta {
  display: block;
  margin-bottom: 5px;
  color: #6b7280;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.sr-dm-bubble.is-own .sr-dm-message-meta,
.sr-dm-bubble.is-participant-b .sr-dm-message-meta {
  color: rgba(255, 255, 255, 0.82);
}

.sr-dm-bubble img {
  display: block;
  max-width: 280px;
  width: 100%;
  height: auto;
  border-radius: 8px;
  margin-top: 8px;
}

.sr-dm-compose {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  padding: 12px;
  border-top: 1px solid #e5e7eb;
  background: #fff;
}

.sr-dm-compose textarea {
  flex: 1;
  min-height: 46px;
  max-height: 130px;
  resize: none;
}

.sr-dm-compose-input.form-control {
  padding: 11px 14px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #f8fafc;
  color: #111827;
  box-shadow: none;
  line-height: 1.45;
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.sr-dm-compose-input.form-control:focus {
  background: #fff;
  border-color: #6e0000;
  box-shadow: 0 0 0 3px rgba(110, 0, 0, 0.12);
}

.sr-dm-compose-icon,
.sr-dm-compose-send {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 46px;
  border-radius: 8px;
  margin: 0;
}

.sr-dm-compose-icon {
  color: #374151;
  background: #fff;
  border-color: #d1d5db;
}

.sr-dm-compose-icon:hover,
.sr-dm-compose-icon:focus {
  color: #6e0000;
  background: #fef2f2;
  border-color: #fecaca;
}

.sr-dm-compose-send {
  gap: 8px;
  padding-inline: 16px;
  border-color: #6e0000;
  background: #6e0000;
  font-weight: 700;
}

.sr-dm-compose-send:hover,
.sr-dm-compose-send:focus {
  border-color: #520000;
  background: #520000;
}

.sr-dm-compose-send:disabled {
  border-color: #9ca3af;
  background: #9ca3af;
  opacity: 0.85;
  cursor: not-allowed;
}

.sr-dm-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 30px;
  text-align: center;
  color: #6b7280;
}

.sr-dm-empty i {
  color: #9ca3af;
  font-size: 18px;
}

.sr-dm-compose-disabled {
  align-items: center;
  color: #6b7280;
  font-weight: 700;
}

.sr-dm-admin-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.sr-dm-inline-form {
  margin: 0;
}

.sr-dm-messages-admin {
  min-height: 520px;
}

@media (max-width: 900px) {
  .sr-dm-delivery-options {
    grid-template-columns: 1fr;
  }

  .sr-dm-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .sr-dm-admin-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  .sr-dm-thread-card {
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
  }

  .sr-dm-thread-side {
    align-items: flex-end;
  }

  .sr-dm-bubble {
    max-width: 92%;
  }

  .sr-dm-messages {
    max-height: 66vh;
    padding: 14px;
  }

  .sr-dm-compose {
    flex-wrap: wrap;
  }

  .sr-dm-compose textarea {
    flex-basis: 100%;
  }

  .sr-dm-compose-send {
    flex: 1;
  }
}

/* Source: public_html/organiser/welcome.php */
.sr-organiser-welcome {
  position: relative;
  padding: 72px 0 86px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(73, 0, 0, .08), rgba(122, 75, 42, .08) 42%, rgba(255, 255, 255, 0) 72%),
    #fff;
}

.sr-organiser-welcome::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(73, 0, 0, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(73, 0, 0, .05) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(90deg, transparent, #000 20%, #000 76%, transparent);
}

.sr-organiser-welcome > .container {
  position: relative;
  z-index: 1;
}

.sr-organiser-welcome__hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 34px;
  align-items: stretch;
}

.sr-organiser-welcome__copy,
.sr-organiser-welcome__badge-card,
.sr-organiser-welcome__next {
  border: 1px solid rgba(73, 0, 0, .12);
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 24px 70px rgba(73, 0, 0, .10);
  backdrop-filter: blur(14px);
}

.sr-organiser-welcome__copy {
  padding: clamp(30px, 5vw, 58px);
  border-radius: 22px;
}

.sr-organiser-welcome__status {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 20px;
  padding: 9px 13px;
  border-radius: 999px;
  background: #f4e4e4;
  color: #490000;
  font-size: 13px;
  font-weight: 588;
}

.sr-organiser-welcome__status i {
  color: #6f0000;
}

.sr-organiser-welcome h1 {
  max-width: 780px;
  margin: 0;
  color: #240202;
  font-size: clamp(34px, 5vw, 58px);
  font-weight: 599;
  line-height: 1.02;
}

.sr-organiser-welcome__copy p {
  max-width: 680px;
  margin: 18px 0 0;
  color: #5f4a4a;
  font-size: 18px;
  line-height: 1.65;
}

.sr-organiser-welcome__notice {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  max-width: 720px;
  margin-top: 24px;
  padding: 15px 16px;
  border: 1px solid #e8d1bf;
  border-radius: 14px;
  background: #fbf4ef;
  color: #5a2f17;
  font-weight: 700;
}

.sr-organiser-welcome__notice i {
  margin-top: 3px;
}

.sr-organiser-welcome__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.sr-organiser-welcome__primary,
.sr-organiser-welcome__secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 18px;
  border-radius: 14px;
  font-weight: 588;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

.sr-organiser-welcome__primary {
  border: 1px solid #490000;
  background: #490000;
  color: #fff;
  box-shadow: 0 16px 34px rgba(73, 0, 0, .22);
}

.sr-organiser-welcome__secondary {
  border: 1px solid rgba(73, 0, 0, .18);
  background: #fff;
  color: #490000;
}

.sr-organiser-welcome__primary:hover,
.sr-organiser-welcome__secondary:hover {
  transform: translateY(-2px);
  text-decoration: none;
}

.sr-organiser-welcome__primary:hover {
  background: #650101;
  color: #fff;
  box-shadow: 0 20px 42px rgba(73, 0, 0, .28);
}

.sr-organiser-welcome__secondary:hover {
  border-color: #490000;
  color: #490000;
  box-shadow: 0 16px 32px rgba(73, 0, 0, .10);
}

.sr-organiser-welcome__badge-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100%;
  padding: 30px;
  border-radius: 22px;
}

.sr-organiser-welcome__badge {
  display: grid;
  place-items: center;
  gap: 18px;
  min-height: 250px;
  border-radius: 20px;
  background: linear-gradient(145deg, #7b0202, #3c0101 56%, #6a341d);
  color: #fff;
  text-align: center;
}

.sr-organiser-welcome__badge-ring {
  display: grid;
  place-items: center;
  width: 150px;
  height: 150px;
  border: 1px solid rgba(255, 216, 112, .38);
  border-radius: 999px;
  background: rgba(15, 2, 2, .20);
  box-shadow: inset 0 0 0 8px rgba(255, 216, 112, .08), 0 18px 34px rgba(0, 0, 0, .22);
}

.sr-organiser-welcome__badge-svg {
  width: 120px;
  height: auto;
  filter: drop-shadow(0 9px 12px rgba(0, 0, 0, .24));
}

.sr-organiser-welcome__badge span {
  max-width: 220px;
  font-size: 26px;
  font-weight: 599;
  line-height: 1.08;
}

.sr-organiser-welcome__badge-meta {
  margin-top: 22px;
}

.sr-organiser-welcome__badge-meta strong,
.sr-organiser-welcome__badge-meta span {
  display: block;
}

.sr-organiser-welcome__badge-meta strong {
  color: #240202;
  font-size: 19px;
  font-weight: 599;
}

.sr-organiser-welcome__badge-meta span {
  margin-top: 4px;
  color: #6f5a5a;
  font-size: 14px;
  font-weight: 700;
}

.sr-organiser-welcome__next {
  margin-top: 24px;
  padding: 28px;
  border-radius: 22px;
}

.sr-organiser-welcome__section-head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-end;
  margin-bottom: 18px;
}

.sr-organiser-welcome__section-head h2 {
  margin: 0;
  color: #240202;
  font-size: 25px;
  font-weight: 599;
}

.sr-organiser-welcome__section-head p {
  max-width: 580px;
  margin: 0;
  color: #6f5a5a;
  line-height: 1.6;
}

.sr-organiser-welcome__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.sr-organiser-welcome__step {
  display: grid;
  gap: 10px;
  min-height: 172px;
  padding: 20px;
  border: 1px solid rgba(73, 0, 0, .10);
  border-radius: 18px;
  background: #fff;
  color: #240202;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.sr-organiser-welcome__step:hover {
  transform: translateY(-2px);
  border-color: rgba(73, 0, 0, .28);
  color: #240202;
  text-decoration: none;
  box-shadow: 0 16px 34px rgba(73, 0, 0, .10);
}

.sr-organiser-welcome__step span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #f4e4e4;
  color: #490000;
}

.sr-organiser-welcome__step strong {
  font-size: 17px;
  font-weight: 599;
}

.sr-organiser-welcome__step em {
  color: #6f5a5a;
  font-style: normal;
  line-height: 1.55;
}

@media (max-width: 991.98px) {
  .sr-organiser-welcome {
    padding: 48px 0 64px;
  }

  .sr-organiser-welcome__hero,
  .sr-organiser-welcome__steps {
    grid-template-columns: 1fr;
  }

  .sr-organiser-welcome__section-head {
    display: block;
  }

  .sr-organiser-welcome__section-head p {
    margin-top: 8px;
  }
}

@media (max-width: 575.98px) {
  .sr-organiser-welcome__copy,
  .sr-organiser-welcome__badge-card,
  .sr-organiser-welcome__next {
    border-radius: 16px;
  }

  .sr-organiser-welcome__actions a {
    width: 100%;
  }
}

.sr-phone-input {
  display: grid;
  grid-template-columns: minmax(92px, 112px) minmax(0, 1fr);
  gap: 10px;
  width: 100%;
}

.sr-phone-input__country,
.sr-phone-input__number {
  min-width: 0;
}

.sr-phone-input__number {
  letter-spacing: .02em;
}

@media (max-width: 575.98px) {
  .sr-phone-input {
    grid-template-columns: 1fr;
  }
}


/* ═══════════════════════════════════════════════════════════════
   Testimonials page (.tmn-)
   ═══════════════════════════════════════════════════════════════ */

/* ── Hero ────────────────────────────────────────────────────── */
.tmn-hero {
  position: relative;
  overflow: hidden;
  padding: 120px 0 80px;
  background:
    radial-gradient(circle at 78% 10%, rgba(255,255,255,.09), transparent 28rem),
    radial-gradient(circle at 8%  80%, rgba(0,0,0,.24),        transparent 22rem),
    linear-gradient(145deg, #7b0202 0%, #520202 44%, #140101 100%);
  text-align: center;
}

.tmn-hero__inner { position: relative; z-index: 1; }

.tmn-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.7);
  margin-bottom: 20px;
}

.tmn-hero__h1 {
  font-size: clamp(2.4rem, 5.5vw, 4.4rem);
  font-weight: 520;
  letter-spacing: -.04em;
  color: #fff;
  margin: 0 auto 20px;
  max-width: 860px;
}

.tmn-hero__sub {
  font-size: 1.15rem;
  color: rgba(255,255,255,.76);
  max-width: 600px;
  margin: 0 auto 48px;
}

.tmn-stats-strip {
  display: flex;
  justify-content: center;
  gap: 48px;
  flex-wrap: wrap;
}

.tmn-stat-item__val {
  font-size: 2.2rem;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}

.tmn-stat-item__label {
  font-size: .78rem;
  color: rgba(255,255,255,.6);
  margin-top: 4px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

/* ── Sections ────────────────────────────────────────────────── */
.tmn-section {
  padding: 80px 0;
  background: #fff;
  color: #111;
}

.tmn-section--alt {
  padding: 80px 0;
  background: #faf9f9;
  color: #111;
}

.tmn-copy-narrow {
  max-width: 640px;
  margin: 0 auto 48px;
  text-align: center;
}

.tmn-kicker {
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #b00020;
  margin-bottom: 12px;
}

.tmn-h2 {
  font-size: clamp(1.7rem, 3.5vw, 2.6rem);
  font-weight: 600;
  letter-spacing: -.03em;
  color: #0f0f0f;
  margin-bottom: 12px;
}

.tmn-sub {
  font-size: 1rem;
  color: #6b7280;
}

/* ── Grid + Card ─────────────────────────────────────────────── */
.tmn-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.tmn-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 28px 24px 24px;
  transition: box-shadow .2s ease, border-color .2s ease;
}

.tmn-card:hover {
  box-shadow: 0 4px 24px rgba(0,0,0,.07);
  border-color: rgba(0,0,0,.13);
}

.tmn-section--alt .tmn-card {
  background: #fff;
}

.tmn-stars {
  display: flex;
  gap: 3px;
  margin-bottom: 14px;
  color: #f59e0b;
  font-size: .88rem;
}

.tmn-star--empty { color: #d1d5db; }

.tmn-card__message {
  font-size: .92rem;
  line-height: 1.65;
  color: #374151;
  flex: 1;
  margin-bottom: 20px;
}

.tmn-card__foot {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
}

.tmn-card__avatar {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #f0e5e5;
  color: #7b0202;
  font-size: .85rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  overflow: hidden;
}

.tmn-card__avatar img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}

.tmn-card__name {
  font-size: .88rem;
  font-weight: 600;
  color: #111;
}

.tmn-card__meta {
  font-size: .78rem;
  color: #9ca3af;
  margin-top: 2px;
}

.tmn-card__badge {
  margin-left: auto;
  flex-shrink: 0;
  font-size: .72rem;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: 20px;
  white-space: nowrap;
}

.tmn-card__badge--organiser {
  background: #fff0e6;
  color: #c05000;
}

.tmn-card__badge--attendee {
  background: #eef2ff;
  color: #3730a3;
}

/* ── Pagination ──────────────────────────────────────────────── */
.tmn-pagination-wrap {
  margin-top: 48px;
  display: flex;
  justify-content: center;
}

/* ── CTA ─────────────────────────────────────────────────────── */
.tmn-cta {
  padding: 96px 0;
  background: linear-gradient(145deg, #7b0202 0%, #520202 44%, #140101 100%);
  text-align: center;
}

.tmn-cta__eyebrow {
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.65);
  margin-bottom: 16px;
}

.tmn-cta__h2 {
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 600;
  color: #fff;
  letter-spacing: -.03em;
  margin-bottom: 16px;
}

.tmn-cta__sub {
  font-size: 1rem;
  color: rgba(255,255,255,.76);
  margin-bottom: 36px;
}

.tmn-cta__actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 991px) {
  .tmn-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 639px) {
  .tmn-hero              { padding: 80px 0 60px; }
  .tmn-section,
  .tmn-section--alt      { padding: 60px 0; }
  .tmn-grid              { grid-template-columns: 1fr; }
  .tmn-stats-strip       { gap: 28px; }
  .tmn-cta               { padding: 72px 0; }
  .tmn-cta__actions      { flex-direction: column; align-items: center; }
}

.scanner-admin-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0;
}

.scanner-admin-tabs a {
  border: 1px solid rgba(80, 0, 0, .18);
  border-radius: 999px;
  padding: 10px 15px;
  font-weight: 700;
  color: #500000;
  background: #fff;
}

.scanner-admin-tabs a.active {
  background: #500000;
  color: #fff;
}

.scanner-admin-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  margin: 18px 0;
}

.scanner-admin-card {
  background: #fff;
  border: 1px solid rgba(80, 0, 0, .12);
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 8px 26px rgba(80, 0, 0, .05);
}

a.scanner-admin-card {
  color: inherit;
  text-decoration: none;
}

a.scanner-admin-card:hover {
  border-color: rgba(80, 0, 0, .32);
  box-shadow: 0 10px 30px rgba(80, 0, 0, .09);
}

.scanner-admin-card span {
  display: block;
  color: #6c757d;
  font-size: 12px;
  font-weight: 556;
  text-transform: uppercase;
}

.scanner-admin-card strong {
  font-size: 28px;
  color: #500000;
}

.scanner-admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.scanner-admin-pre {
  white-space: pre-wrap;
  max-height: 260px;
  overflow: auto;
  background: #17110f;
  color: #f7eee8;
  border-radius: 8px;
  padding: 12px;
  font-size: 12px;
}

.scanner-admin-muted {
  color: #6c757d;
  font-size: 13px;
}

.scanner-admin-select--level {
  width: auto;
  min-width: 140px;
}

.scanner-admin-select--status {
  width: auto;
  min-width: 150px;
}

/* ===================== BRANDING PAGE ===================== */
.branding-page .branding-main {
  padding: 48px 0 80px;
}

.branding-header {
  margin-bottom: 40px;
}

.branding-header h1 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 8px;
  color: #1a1a2e;
}

.branding-header p {
  color: #555;
  font-size: 1rem;
  margin: 0;
}

.branding-section {
  margin-bottom: 56px;
}

.branding-section__title {
  font-size: 1.1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #888;
  border-bottom: 1px solid #e8e8e8;
  padding-bottom: 10px;
  margin-bottom: 24px;
}

.branding-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 20px;
}

.branding-card {
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  display: flex;
  flex-direction: column;
}

.branding-card--dark .branding-card__preview {
  background: #1a1a2e;
}

.branding-card__preview {
  background: #f5f5f7;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px 20px;
  min-height: 130px;
}

.branding-card__preview img {
  max-width: 100%;
  max-height: 90px;
  object-fit: contain;
}

.branding-card__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px 4px;
  gap: 8px;
}

.branding-card__name {
  font-size: .85rem;
  font-weight: 600;
  color: #222;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.branding-card__format {
  font-size: .72rem;
  font-weight: 600;
  color: #fff;
  background: var(--sr-primary);
  border-radius: 4px;
  padding: 2px 7px;
  flex-shrink: 0;
}

.branding-card__actions {
  display: flex;
  gap: 8px;
  padding: 10px 14px 14px;
}

.branding-btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-radius: 6px;
  font-size: .8rem;
  font-weight: 600;
  padding: 7px 10px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: opacity .15s;
}

.branding-btn:hover {
  opacity: .85;
  color: #fff;
  text-decoration: none;
}

.branding-btn--primary {
  background: var(--sr-primary);
  color: #fff;
}

.branding-btn--secondary {
  background: var(--sr-primary-tint);
  color: var(--sr-primary);
}

.branding-btn:disabled {
  opacity: .6;
  cursor: default;
}

.branding-card__preview {
  cursor: zoom-in;
}

.branding-lightbox-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .82);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 80;
  padding: 24px;
}

.branding-lightbox-backdrop img {
  max-width: 90vw;
  max-height: 85vh;
  object-fit: contain;
  border-radius: 6px;
  background: #fff;
  padding: 16px;
  box-shadow: 0 8px 40px rgba(0,0,0,.5);
}

.branding-lightbox-close {
  position: absolute;
  top: 20px;
  right: 24px;
  background: none;
  border: none;
  color: #fff;
  font-size: 1.6rem;
  cursor: pointer;
  line-height: 1;
  padding: 4px 8px;
}
