/* ==========================================================================
   Eventiva Marketplace Styles (Built on Confex Design Foundation)
   ========================================================================== */

html, body {
   overflow-x: clip;
   overflow-y: auto;
}

/* Keyboard focus accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
   outline: 3px solid var(--main-color);
   outline-offset: 2px;
}

.sr-only-focusable:focus {
   position: fixed;
   top: 12px;
   left: 12px;
   z-index: 9999;
   background: var(--primary-color);
   color: #fff;
   padding: 10px 16px;
   border-radius: 8px;
}

/* Header adjustments for clean 4-link + CTA navigation */
#sisf-page-header .navbar-nav {
   gap: 8px;
}

#sisf-page-header .nav-link.active {
   color: var(--main-color) !important;
}

.ev-mobile-sell-link {
   display: none;
}

@media (max-width: 991px) {
   .ev-mobile-sell-link {
      display: inline-flex;
      margin-right: 48px;
      padding: 8px 14px !important;
      font-size: 13px !important;
   }
}

/* ==========================================================================
   Hero Featured Event & Prominent Search
   ========================================================================== */
.ev-hero {
   position: relative;
   background: linear-gradient(135deg, #09090B 0%, var(--primary-color) 65%, #27272A 100%);
   color: var(--white-color);
   padding: 130px 0 72px;
   overflow: hidden;
}

.ev-hero::before {
   content: "";
   position: absolute;
   inset: 0;
   background: radial-gradient(circle at 80% 25%, rgba(194, 65, 12, 0.28), transparent 52%);
   pointer-events: none;
}

.ev-hero-badge {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   background: rgba(194, 65, 12, 0.18);
   border: 1px solid rgba(194, 65, 12, 0.45);
   color: #FED7AA;
   font-size: 13px;
   font-weight: 600;
   padding: 6px 14px;
   border-radius: 999px;
   margin-bottom: 16px;
}

.ev-hero-title {
   font-family: var(--heading-font);
   font-size: clamp(2rem, 4.2vw, 3.35rem);
   line-height: 1.15;
   font-weight: 700;
   color: #fff;
   margin-bottom: 16px;
}

.ev-hero-meta {
   display: flex;
   flex-wrap: wrap;
   gap: 16px 24px;
   color: rgba(255, 255, 255, 0.88);
   font-size: 15px;
   margin-bottom: 24px;
}

.ev-hero-meta i {
   color: var(--main-color);
   margin-right: 6px;
}

.ev-hero-poster-card {
   background: #18181B;
   border: 1px solid rgba(255, 255, 255, 0.14);
   border-radius: 18px;
   overflow: hidden;
   box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
}

.ev-hero-poster-card img {
   width: 100%;
   aspect-ratio: 16 / 10;
   object-fit: contain;
   background: #18181B;
   display: block;
}

.ev-hero-poster-foot {
   padding: 16px 20px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   background: rgba(255, 255, 255, 0.04);
   border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* Prominent Search Bar */
.ev-search-panel {
   margin-top: 32px;
   background: #ffffff;
   border-radius: 16px;
   padding: 10px;
   box-shadow: 0 18px 45px rgba(24, 24, 27, 0.25);
}

.ev-search-panel .form-control,
.ev-search-panel .form-select {
   border: 1px solid transparent;
   background: #FAFAF9;
   border-radius: 10px;
   min-height: 48px;
   font-size: 15px;
   color: var(--primary-color);
}

.ev-search-panel .form-control:focus,
.ev-search-panel .form-select:focus {
   background: #fff;
   border-color: var(--main-color);
   box-shadow: none;
}

/* Category Shortcuts */
.ev-category-bar {
   padding: 32px 0 8px;
   border-bottom: 1px solid #E4E4E7;
   background: #fff;
}

.ev-cat-grid {
   display: grid;
   grid-template-columns: repeat(6, minmax(0, 1fr));
   gap: 12px;
}

@media (max-width: 991px) {
   .ev-cat-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
   }
}

@media (max-width: 575px) {
   .ev-cat-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
}

.ev-cat-pill {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 12px 14px;
   border-radius: 12px;
   border: 1px solid #E4E4E7;
   background: #fff;
   color: var(--primary-color);
   font-weight: 600;
   font-size: 14px;
   text-decoration: none;
   transition: all 0.2s ease;
}

.ev-cat-pill i {
   color: var(--main-color);
   font-size: 16px;
   width: 20px;
   text-align: center;
   flex-shrink: 0;
}

.ev-cat-pill:hover {
   border-color: var(--main-color);
   background: var(--secondary-color);
   color: var(--primary-color);
   transform: translateY(-2px);
}

/* ==========================================================================
   Event Sections & Minimalist Poster Cards (Uncropped Artwork)
   ========================================================================== */
.ev-section {
   padding: 64px 0;
}

.ev-section-alt {
   background: #FAFAF9;
}

.ev-section-head {
   display: flex;
   align-items: flex-end;
   justify-content: space-between;
   gap: 16px;
   margin-bottom: 28px;
}

.ev-section-head h2 {
   font-family: var(--heading-font);
   font-size: clamp(1.5rem, 2.5vw, 2rem);
   font-weight: 700;
   color: var(--primary-color);
   margin: 0;
}

.ev-section-sub {
   color: var(--text-color);
   margin: 4px 0 0;
   font-size: 15px;
}

.ev-card {
   background: #fff;
   border: 1px solid #E4E4E7;
   border-radius: 16px;
   overflow: hidden;
   height: 100%;
   display: flex;
   flex-direction: column;
   transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.ev-card:hover {
   transform: translateY(-4px);
   box-shadow: 0 16px 36px rgba(24, 24, 27, 0.08);
   border-color: rgba(194, 65, 12, 0.35);
}

.ev-poster-frame {
   position: relative;
   background: #18181B;
   aspect-ratio: 4 / 3;
   width: 100%;
   overflow: hidden;
   display: flex;
   align-items: center;
   justify-content: center;
}

.ev-poster-frame img {
   width: 100%;
   height: 100%;
   object-fit: contain;
   display: block;
}

.ev-county-badge {
   position: absolute;
   top: 12px;
   left: 12px;
   background: rgba(24, 24, 27, 0.86);
   color: #fff;
   font-size: 12px;
   font-weight: 600;
   padding: 4px 10px;
   border-radius: 999px;
   backdrop-filter: blur(4px);
}

.ev-category-badge {
   position: absolute;
   top: 12px;
   right: 12px;
   background: var(--secondary-color);
   color: var(--main-color);
   font-size: 12px;
   font-weight: 600;
   padding: 4px 10px;
   border-radius: 999px;
}

.ev-card-body {
   padding: 18px 20px 20px;
   display: flex;
   flex-direction: column;
   flex: 1;
}

.ev-card-date {
   font-size: 13px;
   font-weight: 600;
   color: var(--main-color);
   margin-bottom: 6px;
}

.ev-card-title {
   font-family: var(--heading-font);
   font-size: 18px;
   font-weight: 700;
   line-height: 1.35;
   color: var(--primary-color);
   margin-bottom: 8px;
}

.ev-card-title a {
   color: inherit;
   text-decoration: none;
}

.ev-card-title a:hover {
   color: var(--main-color);
}

.ev-card-venue {
   font-size: 14px;
   color: var(--text-color);
   margin-bottom: 16px;
}

.ev-card-venue i {
   color: var(--main-color);
   margin-right: 6px;
}

.ev-card-footer {
   margin-top: auto;
   padding-top: 14px;
   border-top: 1px solid #E4E4E7;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
}

.ev-price-from {
   font-size: 12px;
   color: var(--text-color);
   display: block;
}

.ev-price-val {
   font-family: var(--heading-font);
   font-size: 17px;
   font-weight: 700;
   color: var(--primary-color);
}

.ev-btn-sm {
   padding: 9px 16px !important;
   font-size: 14px !important;
   border-radius: 10px !important;
}

/* ==========================================================================
   Explore Filter Bar & Empty State
   ========================================================================== */
.ev-filter-bar {
   background: #fff;
   border: 1px solid #E4E4E7;
   border-radius: 16px;
   padding: 18px;
   margin-bottom: 28px;
   box-shadow: 0 8px 24px rgba(24, 24, 27, 0.04);
}

.ev-filter-bar label {
   font-size: 12px;
   font-weight: 600;
   color: var(--text-color);
   margin-bottom: 5px;
   display: block;
}

.ev-empty-state {
   text-align: center;
   padding: 56px 24px;
   background: #FAFAF9;
   border: 1px dashed #D4D4D8;
   border-radius: 16px;
}

/* ==========================================================================
   Event Detail & Tier Selection
   ========================================================================== */
.ev-detail-poster {
   background: #18181B;
   border-radius: 18px;
   overflow: hidden;
   border: 1px solid #E4E4E7;
}

.ev-detail-poster img {
   width: 100%;
   max-height: 480px;
   object-fit: contain;
   display: block;
   background: #18181B;
}

.ev-info-box {
   background: #fff;
   border: 1px solid #E4E4E7;
   border-radius: 16px;
   padding: 24px;
   margin-bottom: 24px;
}

.ev-tier-row {
   border: 1px solid #E4E4E7;
   border-radius: 14px;
   padding: 16px;
   margin-bottom: 12px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 14px;
   transition: border-color 0.2s ease;
}

.ev-tier-row.is-selected {
   border-color: var(--main-color);
   background: #FFF7ED;
}

.ev-tier-row.is-soldout {
   opacity: 0.65;
   background: #faf7f9;
}

.ev-qty-ctrl {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   background: #F4F4F5;
   border-radius: 10px;
   padding: 4px;
}

.ev-qty-btn {
   width: 34px;
   height: 34px;
   border: none;
   border-radius: 8px;
   background: #fff;
   color: var(--primary-color);
   font-weight: 700;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   transition: background 0.15s ease, color 0.15s ease;
}

.ev-qty-btn:hover:not(:disabled) {
   background: var(--main-color);
   color: #fff;
}

.ev-qty-btn:disabled {
   opacity: 0.4;
   cursor: not-allowed;
}

.ev-qty-val {
   min-width: 24px;
   text-align: center;
   font-weight: 700;
   color: var(--primary-color);
}

.ev-sticky-mobile-bar {
   display: none;
}

@media (max-width: 991px) {
   .ev-sticky-mobile-bar {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 990;
      background: #fff;
      border-top: 1px solid #E4E4E7;
      padding: 12px 16px;
      box-shadow: 0 -8px 24px rgba(24, 24, 27, 0.1);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
   }
   body.ev-has-sticky-bar {
      padding-bottom: 76px;
   }
}

/* ==========================================================================
   Checkout & Simulated M-Pesa States
   ========================================================================== */
.ev-sim-notice {
   background: #FFF7ED;
   border: 1px solid rgba(194, 65, 12, 0.3);
   border-left: 4px solid var(--main-color);
   border-radius: 12px;
   padding: 14px 18px;
   color: var(--primary-color);
   font-size: 14px;
   margin-bottom: 24px;
}

.ev-mpesa-badge {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   background: #e9f9ee;
   color: #146c2e;
   border: 1px solid #b8e6c5;
   font-size: 13px;
   font-weight: 700;
   padding: 5px 12px;
   border-radius: 999px;
}

.ev-state-card {
   border-radius: 16px;
   padding: 28px;
   text-align: center;
   border: 1px solid #E4E4E7;
   background: #fff;
}

.ev-state-icon {
   width: 64px;
   height: 64px;
   border-radius: 50%;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   font-size: 26px;
   margin-bottom: 16px;
}

.ev-state-pending .ev-state-icon {
   background: #fff4e5;
   color: #b45309;
}

.ev-state-success .ev-state-icon {
   background: #e9f9ee;
   color: #15803d;
}

.ev-state-failed .ev-state-icon {
   background: #fee2e2;
   color: #b91c1c;
}

/* ==========================================================================
   My Tickets Pass Card
   ========================================================================== */
.ev-pass-card {
   background: #fff;
   border: 1px solid #E4E4E7;
   border-radius: 18px;
   overflow: hidden;
   box-shadow: 0 10px 28px rgba(24, 24, 27, 0.06);
}

.ev-pass-header {
   background: var(--primary-color);
   color: #fff;
   padding: 18px 24px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   flex-wrap: wrap;
   gap: 12px;
}

.ev-pass-qr {
   background: #FAFAF9;
   border: 1px dashed #D4D4D8;
   border-radius: 14px;
   padding: 16px;
   text-align: center;
}

/* Simple Footer */
.ev-simple-footer {
   background: var(--primary-color);
   color: rgba(255, 255, 255, 0.82);
   padding: 56px 0 28px;
}

.ev-simple-footer a {
   color: rgba(255, 255, 255, 0.82);
   text-decoration: none;
}

.ev-simple-footer a:hover {
   color: #fff;
   text-decoration: underline;
}

.ev-simple-footer h5 {
   color: #fff;
   font-family: var(--heading-font);
   font-size: 16px;
   font-weight: 700;
   margin-bottom: 14px;
}

/* ==========================================================================
   Auth Pages & Demo Access
   ========================================================================== */
.ev-auth-section {
   min-height: calc(100vh - 220px);
   padding: 120px 0 64px;
   background: linear-gradient(180deg, #18181B 0%, #18181B 180px, #FAFAF9 180px, #FAFAF9 100%);
}

.ev-auth-card {
   background: #fff;
   border: 1px solid #E4E4E7;
   border-radius: 20px;
   padding: 32px;
   box-shadow: 0 18px 45px rgba(24, 24, 27, 0.08);
}

.ev-role-switch {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 10px;
   background: #F4F4F5;
   padding: 5px;
   border-radius: 12px;
}

.ev-role-tab {
   border: none;
   background: transparent;
   color: var(--primary-color);
   font-weight: 600;
   font-size: 14px;
   padding: 10px 12px;
   border-radius: 9px;
   cursor: pointer;
   transition: all 0.2s ease;
}

.ev-role-tab.active {
   background: #fff;
   color: var(--main-color);
   box-shadow: 0 2px 8px rgba(24, 24, 27, 0.08);
}

.ev-demo-box {
   background: #FFF7ED;
   border: 1px dashed rgba(194, 65, 12, 0.45);
   border-radius: 14px;
   padding: 16px;
}

/* ==========================================================================
   Portal Shell (Compact Sidebar + Mobile Drawer + Reusable Cards/Tables)
   ========================================================================== */
.ev-portal-body {
   background: #FAFAF9;
   min-height: 100vh;
}

.ev-portal-wrap {
   display: flex;
   min-height: 100vh;
}

.ev-portal-sidebar {
   width: 256px;
   flex-shrink: 0;
   background: var(--primary-color);
   color: rgba(255, 255, 255, 0.85);
   display: flex;
   flex-direction: column;
   padding: 20px 14px;
   position: sticky;
   top: 0;
   height: 100vh;
   overflow-y: auto;
}

.ev-portal-nav {
   display: flex;
   flex-direction: column;
   gap: 4px;
   margin-top: 20px;
   flex: 1;
}

.ev-portal-nav-btn {
   display: flex;
   align-items: center;
   gap: 10px;
   width: 100%;
   text-align: left;
   border: none;
   background: transparent;
   color: rgba(255, 255, 255, 0.82);
   padding: 10px 14px;
   border-radius: 10px;
   font-size: 14px;
   font-weight: 600;
   cursor: pointer;
   transition: all 0.15s ease;
}

.ev-portal-nav-btn i {
   width: 18px;
   text-align: center;
   font-size: 15px;
}

.ev-portal-nav-btn:hover {
   background: rgba(255, 255, 255, 0.08);
   color: #fff;
}

.ev-portal-nav-btn.active {
   background: var(--main-color);
   color: #fff;
}

.ev-portal-main {
   flex: 1;
   min-width: 0;
   display: flex;
   flex-direction: column;
}

.ev-portal-topbar {
   background: #fff;
   border-bottom: 1px solid #E4E4E7;
   padding: 14px 24px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   position: sticky;
   top: 0;
   z-index: 90;
}

.ev-portal-content {
   padding: 24px;
   flex: 1;
}

.ev-kpi-card {
   background: #fff;
   border: 1px solid #E4E4E7;
   border-radius: 16px;
   padding: 18px 20px;
   height: 100%;
}

.ev-kpi-label {
   font-size: 13px;
   color: var(--text-color);
   margin-bottom: 6px;
}

.ev-kpi-value {
   font-family: var(--heading-font);
   font-size: 24px;
   font-weight: 700;
   color: var(--primary-color);
}

.ev-panel-card {
   background: #fff;
   border: 1px solid #E4E4E7;
   border-radius: 16px;
   padding: 22px;
   margin-bottom: 20px;
}

.ev-table-wrap {
   overflow-x: auto;
}

.ev-table {
   width: 100%;
   border-collapse: collapse;
   font-size: 14px;
}

.ev-table th {
   font-size: 12px;
   text-transform: uppercase;
   letter-spacing: 0.4px;
   color: var(--text-color);
   border-bottom: 1px solid #E4E4E7;
   padding: 10px 12px;
   white-space: nowrap;
}

.ev-table td {
   padding: 12px;
   border-bottom: 1px solid #E4E4E7;
   vertical-align: middle;
}

.ev-status-pill {
   display: inline-block;
   font-size: 12px;
   font-weight: 600;
   padding: 4px 10px;
   border-radius: 999px;
   white-space: nowrap;
}

.ev-status-published,
.ev-status-confirmed,
.ev-status-paid,
.ev-status-active {
   background: #e9f9ee;
   color: #15803d;
}

.ev-status-pending,
.ev-status-draft {
   background: #fff4e5;
   color: #b45309;
}

.ev-status-rejected,
.ev-status-suspended,
.ev-status-unpublished {
   background: #fee2e2;
   color: #b91c1c;
}

@media (max-width: 991px) {
   .ev-portal-sidebar {
      display: none;
   }
   .ev-portal-topbar {
      padding: 12px 16px;
   }
   .ev-portal-content {
      padding: 16px;
   }
}

.ev-drawer-sidebar {
   background: var(--primary-color);
   color: #fff;
}

/* ==========================================================================
   Comprehensive Responsiveness & Touch Target Polish (360px - 1440px)
   ========================================================================== */
html, body {
   max-width: 100%;
   overflow-x: clip;
}

/* 16px input text prevents iOS auto-zoom & improves readability */
input.form-control,
select.form-select,
textarea.form-control,
.form-control,
.form-select {
   font-size: 16px !important;
   min-height: 44px;
}

textarea.form-control {
   min-height: 96px;
}

/* Touch targets >= 44px */
.sis-btn-default,
.ev-cat-pill,
.ev-portal-nav-btn,
.ev-role-tab,
.slicknav_nav a {
   min-height: 44px;
}

.ev-qty-btn {
   width: 44px;
   height: 44px;
}

/* Text wrapping for long event titles & large KSh prices */
.ev-hero-title,
.ev-card-title,
.ev-info-box h1,
.ev-info-box h2,
.ev-pass-card h3 {
   overflow-wrap: anywhere;
   word-break: break-word;
}

.ev-card-footer,
.ev-hero-poster-foot {
   flex-wrap: wrap;
}

/* Mobile & Tablet Header (<= 1024px / 991px / 430px / 360px) */
@media (max-width: 1024px) {
   #sisf-page-header .sisf-centered-header-wrapper.sisf--header {
      padding: 8px 12px;
      gap: 8px;
   }
   .sisf-header-logo-link.navbar-brand img {
      max-height: 34px;
      width: auto;
   }
}

@media (max-width: 991px) {
   #sisf-page-header .container {
      position: relative;
   }
   .ev-mobile-sell-link {
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      margin-right: 52px;
      padding: 8px 12px !important;
      font-size: 13px !important;
      min-height: 40px;
      white-space: nowrap;
   }
   .slicknav_menu {
      margin-top: 8px;
      border-radius: 14px;
      overflow: hidden;
   }
   .slicknav_nav a {
      display: flex;
      align-items: center;
      padding: 12px 16px !important;
      font-size: 15px !important;
   }
}

@media (max-width: 430px) {
   .sisf-header-logo-link.navbar-brand img {
      max-height: 28px;
   }
   .ev-mobile-sell-link {
      margin-right: 46px;
      padding: 6px 10px !important;
      font-size: 12px !important;
   }
   .ev-hero {
      padding: 100px 0 36px !important;
   }
   .ev-section {
      padding: 40px 0;
   }
   .ev-auth-section {
      padding: 96px 0 40px;
   }
   .ev-auth-card,
   .ev-info-box,
   .ev-panel-card {
      padding: 18px;
   }
   .ev-tier-row {
      flex-direction: column;
      align-items: flex-start;
   }
   .ev-qty-ctrl {
      align-self: flex-end;
   }
   .ev-section-head {
      flex-direction: column;
      align-items: flex-start;
   }
}

/* Sticky mobile bar safe-area & virtual-keyboard clearance */
@media (max-width: 991px) {
   .ev-sticky-mobile-bar {
      padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
   }
   body.ev-has-sticky-bar {
      padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
   }
}

@media (max-height: 460px) and (max-width: 991px) {
   .ev-sticky-mobile-bar {
      display: none !important;
   }
}

/* Tables & Modals on small screens */
@media (max-width: 767px) {
   .ev-table th,
   .ev-table td {
      padding: 10px 8px;
      font-size: 13px;
   }
   .ev-portal-topbar {
      flex-wrap: wrap;
   }
   .modal-dialog {
      margin: 12px;
   }
}

/* Prevent hover-only motion on touch devices */
@media (hover: none) {
   .ev-card:hover,
   .ev-cat-pill:hover {
      transform: none;
   }
}


/* ==========================================================================
   Shared Theme Overrides (Warm Neutral + Burnt Orange #C2410C / #9A3412)
   ========================================================================== */
body {
   background-color: var(--bg-color);
   color: var(--primary-color);
}

h1, h2, h3, h4, h5, h6 {
   color: var(--primary-color);
}

.text-muted,
.ev-section-sub,
.ev-card-venue,
.ev-kpi-label {
   color: var(--text-color) !important;
}

.ev-card,
.ev-info-box,
.ev-panel-card,
.ev-kpi-card,
.ev-auth-card,
.ev-filter-bar,
.ev-pass-card,
.ev-search-panel,
input.form-control,
select.form-select,
textarea.form-control,
.form-control,
.form-select {
   background-color: var(--white-color);
   border-color: var(--border-color);
   color: var(--primary-color);
}

.form-control:focus,
.form-select:focus {
   border-color: var(--main-color);
   box-shadow: 0 0 0 0.2rem rgba(194, 65, 12, 0.16);
}

.form-check-input:checked {
   background-color: var(--main-color);
   border-color: var(--main-color);
}

.sis-btn-default {
   background: var(--main-color) !important;
   background-color: var(--main-color) !important;
   color: var(--white-color) !important;
   border-color: var(--main-color) !important;
}

.sis-btn-default:hover,
.sis-btn-default:focus-visible {
   background: var(--accent-color) !important;
   background-color: var(--accent-color) !important;
   color: var(--white-color) !important;
   border-color: var(--accent-color) !important;
}

main a:not(.sis-btn-default):not(.btn):not(.ev-cat-pill):not(.ev-poster-frame):not(.ev-card-title a) {
   color: var(--main-color);
}

main a:not(.sis-btn-default):not(.btn):not(.ev-cat-pill):not(.ev-poster-frame):not(.ev-card-title a):hover {
   color: var(--accent-color);
}

.ev-card-title a {
   color: var(--primary-color);
}

.ev-card-title a:hover {
   color: var(--main-color);
}

.accordion-button:not(.collapsed) {
   background-color: var(--secondary-color);
   color: var(--main-color);
}

/* Standardised Header & Drawer Sizing */
.ev-logo-img {
   height: 34px;
   width: auto;
   display: block;
}

.ev-mobile-menu-btn {
   width: 44px;
   height: 44px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 10px;
}

.ev-mobile-cta {
   padding: 8px 14px !important;
   font-size: 13px !important;
   min-height: 40px !important;
}

@media (max-width: 430px) {
   .ev-logo-img {
      height: 28px;
   }
   .ev-mobile-cta {
      padding: 6px 10px !important;
      font-size: 12px !important;
   }
}

#evMobileNavDrawer .ev-portal-nav-btn {
   text-decoration: none;
}

/* Fix mobile/tablet header visibility (override Confex custom.css display:none !important at <=1024px) */
@media (max-width: 1024px) {
   #sisf-page-header .sisf-centered-header-wrapper.sisf--header {
      display: flex !important;
      width: 100%;
   }
   #sisf-page-header #sisf-page-header-inner {
      padding: 10px 0;
   }
}
