#verified-notice,
.content-updated{
   color: var(--color-70);
}

.billboard-transparent .billboard-bg img {
    object-position: center !important;
}



[data-scene='insights']{
   background: var(--bg-light-blue-lighter);
   border: 1px solid #D8E8FF;
   border-radius: 12px;
}


.insights-main,
.insights-footer{
   padding: 16px;
}

.insights-list li{
   display: flex;
   gap: 8px;
   flex-direction: row;
   color: var(--color-80);
   font-size: 15px;
} 

.insights-list li a{
   color: var(--color-80);
   text-decoration: underline;
}

.insights-footer {
   display: flex;
   flex-wrap: wrap;
   gap: 16px;
   align-items: center;
   background: var(--bg-light-blue);
   border-top: 1px solid #D8E8FF;;
}

.insights-footer [data-icon='wand'] {
   flex-shrink: 0;
}


.insights-footer p {
   color: var(--color-70);
}

.insights-footer strong {
   display: block;
   font-size: var(--size-title-detail);
   margin-bottom: 4px;
}

@media (max-width: 479px) {

   .insights-footer{
      gap: 8px;
      flex-wrap: nowrap;
   }

   .insights-footer span{
      font-weight: bold;
      color: var(--color-primary);
   }
   .insights-footer i[data-icon='chevron-right']{
      height: 24px;
      width: 24px;
   }

   .insights-footer i[data-icon='wand']{
      display: none;
   }   
}


/* text block grows, pushes button right */
.insights-footer > div,
.insights-footer > :is(strong, p) {
   flex: 1;
}

.insights-footer-text {
   flex: 1;
   min-width: 300px; /* triggers wrap before text gets too squished */
}
.insights-footer button {
   flex-shrink: 0;
   margin-left: auto; /* keeps button right-aligned even when wrapped */
}

/* reduce printed image sizes */
[data-scene="questions"] [data-role='answer'] img{
   max-height: 40vh;
   max-width: 400px;
   border-radius: 6px;
}


/* =============================================================
   Ratings & Reviews  —  [data-scene="ratings-reviews"]
   No font-size or color rules — caller owns those.
   ============================================================= */

/* ── Scene wrapper ─────────────────────────────────────────── */
[data-scene="questions"],
[data-scene="ratings-reviews"] {
   display: flex;
   flex-direction: column;
   gap: 32px;
}


/* ── Header ────────────────────────────────────────────────── */
[data-rr="header"] {
   display: flex;
   align-items: baseline;
   justify-content: space-between;
   flex-wrap: wrap;
   gap: 8px;
   margin-block-end: calc(var(--scene-gap) * 0.5);
}

[data-rr="title"] {
   margin: 0 !important;
}

[data-rr="event-type-toggle"] {
   display: flex;
   align-items: center;
   gap: 0.35em;
   white-space: nowrap;
   width: max-content;
}

[data-rr="event-type-select"] {
   border: none;
   background: transparent;
   cursor: pointer;
   font: inherit;
   font-weight: bold;
   padding: 0;
   appearance: auto;
}

[data-rr="event-type-static"] {
   font-weight: bold;
}


/* ── SeatScore Billboard ───────────────────────────────────── */
[data-scene="seatscore-billboard"] {
   display: flex;
   flex-direction: row;
   gap: 40px;
   flex-wrap: wrap;
}

/* Left column: big number + meta */
[data-rr="seatscore-block"] {
   display: flex;
   flex-direction: column;

   flex-shrink: 0;
}

[data-rr="seatscore-rating"] {
   display: flex;
   flex-direction: row;
   gap: 15px;   
}

[data-rr="seatscore-number"] {
   font-weight: 900;
   line-height: 1;
   font-size: 44px;
}

[data-rr="seatscore-meta"] {
   display: flex;
   flex-direction: column;
   gap: 0.15em;
}

[data-rr="seatscore-tm"] {
   letter-spacing: 0.04em;
   font-size: 12px;
   color: var(--color-70);
}

[data-rr="seatscore-category"] {
   font-weight: bold;
   font-size: 18px;
}


[data-rr="seatscore-stars"] [data-is='icon-group'][data-group='stars']{
   font-size: 28px;
}


/* Right column: meter bars */
[data-rr="meter-bars"] {
   display: flex;
   flex-direction: column;
   gap: 8px;
   flex: 1;
   min-width: 180px;
   max-width: 360px;
}

[data-rr="meter-row"] {
   display: flex;
   align-items: center;
   gap: 12px;
}

[data-rr="meter-label"] {
   width: 96px;
   flex-shrink: 0;
}

[data-rr="meter-track"] {
   flex: 1;
   height: 8px;
   background: #e5e7eb;
   border-radius: 9999px;
   overflow: hidden;
   display: block;
}

[data-rr="meter-fill"] {
   display: block;
   height: 100%;
   background: #FF6600;
   border-radius: 9999px;
   transition: width 0.4s ease;
}

/* Narrow: stack score block on top of bars */
@media (max-width: 600px) {
   [data-scene="seatscore-billboard"] {
       flex-direction: column;
       align-items: flex-start;
       gap: 20px;
   }

   [data-rr="meter-bars"] {
       width: 100%;
       max-width: 100%;
   }
}





/* ── Expert Reviews ────────────────────────────────────────── */
[data-scene="expert-reviews"] {
   border-left: 4px solid #3B5EA6; /* brand-blue placeholder */
   background: #f0f4ff;            /* subtle tint — override as needed */
   border-radius: 0 12px 12px 0;
   padding: 24px;
}

[data-rr="expert-header"] {
   display: flex;
   gap: 8px;
}

[data-rr="expert-icon"] {
   flex-shrink: 0;
}

[data-rr="expert-title"] {
   margin: 0;
}

[data-rr="expert-body"] {
   display: flex;
   flex-direction: column;
   gap: 20px;
   padding-left: 24px; /* indent under icon */
}

[data-rr="expert-item-inner"] > * {
   display: inline;
}

[data-rr="expert-item-title"] {
   margin: 0 0 0.25em;
   font-weight: bold;
}

[data-rr="expert-item-inner"] {
   /* truncation applied via utility class if needed */
   overflow: hidden;
   display: -webkit-box;
   -webkit-line-clamp: 2;
   -webkit-box-orient: vertical;
   margin-bottom: 6px;
}

[data-rr="expert-read-more"] {
   display: inline-flex;
   align-items: center;
   gap: 0.2em;
   font-weight: bold;
   margin-top: 8px;
}


/* ── Fan Reviews ───────────────────────────────────────────── */

[data-rr="fan-title"] {
   margin: 0;
}

[data-rr="fan-list"] {
   display: flex;
   flex-direction: column;
   gap: 20px;
}

[data-rr="fan-item"] {
   display: flex;
   flex-direction: column;
   gap: 8px;
   padding-bottom: 20px;
   padding: 16px;
   border: 1px solid var(--outline-color);
   border-radius: 8px;
   transition: all 0.3s ease;

}

[data-rr="fan-item"]:hover{
   border-color: var(--color-50);
   box-shadow: 0 2px 8px rgba(0, 36, 72, 0.04);
}



[data-rr="fan-item-stars"] [data-is='icon-group'][data-group='stars']{
   font-size: 22px;
}

[data-rr="fan-item-content"] {
   /* block of headline + body text */
}

[data-rr="fan-item-headline"] {
   font-weight: bold;
   margin-right: 0.35em;
}

[data-rr="fan-item-meta"] {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 8px;
   color: var(--color-70);
}

[data-rr="verified-badge"] {
   display: inline-block;
   border: 1px solid currentColor;
   border-radius: 3px;
   padding: 0.1em 0.45em;
   font-weight: bold;
   white-space: nowrap;
   /* color supplied by caller */
}

[data-rr="fan-read-more"] {
   display: inline-flex;
   align-items: center;
   gap: 0.2em;
   font-weight: bold;
   margin-top: 4px;
}


[data-scene='questions'] [data-role='answer']{
   padding-left: 16px;
   border-left: 3px solid var(--color-80);
}


/* =============================================
   Gallery Modal
   ============================================= */

   [data-theme='gallery'] .modal-container {
      width: 100%;
      max-width: 100%;
      height: 100%;
      max-height: 100%;
      margin: 0;
      border-radius: 0;
      display: grid;
      grid-template-rows: auto 1fr;
    }
    
    [data-theme='gallery'] hgroup {
      display: none; /* no header needed, close btn handled separately */
    }
    
    .gallery-modal-inner {
      display: grid;
      grid-template-rows: 1fr auto;
      grid-template-columns: 1fr;
      height: 100%;
      overflow: hidden;
    
      /* wide: add meta rail column */
      @media (min-width: 768px) {
        grid-template-columns: 1fr 280px;
        grid-template-rows: 1fr auto;
      }
    }
    
    /* ── Stage ──────────────────────────────────── */
    
    .gallery-stage {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      background: #000;
      overflow: hidden;
      grid-row: 1;
      grid-column: 1;
    }
    
    .gallery-main-photo {
      margin: 0;
      width: 100%;
      height: 100%;
      position: relative;
    }
    
    .gallery-main-photo img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
    }
    
    .gallery-main-photo figcaption {
      position: absolute;
      bottom: 12px;
      left: 12px;
      background: rgba(0,0,0,0.55);
      color: #fff;
      font-size: 0.75rem;
      font-weight: 600;
      padding: 5px 10px;
      border-radius: 20px;
      backdrop-filter: blur(4px);
      pointer-events: none;
    }
    
    /* ── Prev / Next ────────────────────────────── */
    
    .gallery-nav {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      z-index: 10;
      background: rgba(255,255,255,0.15);
      border: none;
      color: #fff;
      font-size: 2rem;
      line-height: 1;
      width: 44px;
      height: 44px;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background 0.2s ease;
    }
    
    .gallery-nav:hover {
      background: rgba(255,255,255,0.3);
    }
    
    .gallery-nav:disabled {
      opacity: 0.2;
      cursor: default;
    }
    
    .gallery-nav.is-prev { left: 12px; }
    .gallery-nav.is-next { right: 12px; }
    
    /* ── Meta Rail (wide only) ──────────────────── */
    
    .gallery-meta-rail {
      display: none;
    
      @media (min-width: 768px) {
        display: flex;
        flex-direction: column;
        gap: 16px;
        grid-row: 1 / 3;
        grid-column: 2;
        background: #fff;
        padding: 20px 16px;
        overflow-y: auto;
      }
    }
    
    .gallery-counter {
      font-size: 0.8rem;
      font-weight: 600;
      color: #888;
    }
    
    .gallery-sales-rail {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    
    .gallery-sales-rail .u-skeleton {
      height: 32px;
      border-radius: 6px;
    }
    
    /* ── Thumbstrip ─────────────────────────────── */
    
    .gallery-thumbstrip {
      grid-row: 2;
      grid-column: 1;
      display: flex;
      gap: 4px;
      overflow-x: auto;
      background: #111;
      padding: 6px;
      scrollbar-width: none;
    
      @media (min-width: 768px) {
        max-height: 90px;
      }
    }
    
    .gallery-thumbstrip::-webkit-scrollbar {
      display: none;
    }
    
    .gallery-thumb {
      flex: 0 0 auto;
      width: 70px;
      height: 52px;
      border: 2px solid transparent;
      border-radius: 4px;
      overflow: hidden;
      cursor: pointer;
      padding: 0;
      background: none;
      opacity: 0.6;
      transition: opacity 0.2s ease, border-color 0.2s ease;
    }
    
    .gallery-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    
    .gallery-thumb.is-active,
    .gallery-thumb:hover {
      opacity: 1;
      border-color: #fff;
    }
    
    /* ── Pit (narrow sales bar) ─────────────────── */
    
    [data-layout='pit'] {
      grid-row: 3;
      grid-column: 1;
    
      @media (min-width: 768px) {
        display: none;
      }
    }


    .gallery-photo-meta {
      padding-bottom: 16px;
      border-bottom: 1px solid #eee;
    }
    
    .gallery-photo-event {
      font-size: 0.7rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: #888;
      margin-bottom: 6px;
    }
    
    .gallery-photo-caption {
      margin: 0;
      font-size: 0.9rem;
      line-height: 1.5;
      color: #222;
    }

    .gallery-modal-inner {
      display: grid;
      grid-template-rows: 1fr auto auto;
      grid-template-columns: 1fr;
      height: 100%;
      overflow: hidden;
    
      @media (min-width: 768px) {
        grid-template-columns: 1fr 280px;
        grid-template-rows: 1fr auto;
      }
    }
    
    /* ── Stage ──────────────────────────────────── */
    
    .gallery-stage {
      grid-row: 1;
      grid-column: 1;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      background: #000;
      overflow: hidden;
    }
    
    /* ── Meta Rail ──────────────────────────────── */
    
    .gallery-meta-rail {
      grid-row: 2;
      grid-column: 1;
      display: flex;
      flex-direction: column;
      gap: 16px;
      background: #fff;
      padding: 16px;
      overflow-y: auto;
    
      @media (min-width: 768px) {
        grid-row: 1 / 3;
        grid-column: 2;
        padding: 20px 16px;
      }
    }
    
    /* ── Thumbstrip — wide only ─────────────────── */
    
    .gallery-thumbstrip {
      display: none;
    
      @media (min-width: 768px) {
        grid-row: 2;
        grid-column: 1;
        display: flex;
        gap: 4px;
        overflow-x: auto;
        background: #111;
        padding: 6px;
        scrollbar-width: none;
        max-height: 90px;
      }
    }
    
    /* ── Pit — narrow only ──────────────────────── */
    
    [data-layout='pit'] {
      grid-row: 3;
      grid-column: 1;
      display: block;
    
      @media (min-width: 768px) {
        display: none;
      }
    }





.billboard-content .button-cluster{
   margin-bottom: 24px;
}    

   

.billboard-content .button-cluster [data-is='btn']{
   padding-inline: clamp(12px, 3vw, 24px);
   height: clamp(44px, calc(44px + (100vw - 400px) / 100), 48px);
   line-height: clamp(44px, calc(44px + (100vw - 400px) / 100), 48px);
      
}

.billboard-content .button-cluster [data-is='btn'].ticket-button{
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.padded-card-list-footer{
   padding-inline: 16px;
}


#available-tickets .ticket-results{
   border: 1px solid var(--outline-color);
   border-radius: 8px;
}

#available-tickets .ticket-results .event-callout-subheader{
   border-top: 1px solid #D8E8FF;
   border-bottom: 1px solid #D8E8FF;
}

#available-tickets .container {
   display: flex;
   gap: 0;
   border: 1px solid var(--outline-color);
   border-radius: 8px;
   overflow: hidden;
   align-items: flex-start;
}

#available-tickets .container table {
   flex: 1;
   border-collapse: collapse;
   min-width: 0;
}

#available-tickets .container table th,
#available-tickets .container table td {
   padding: 16px;
   border-bottom: 1px solid var(--outline-color);
   text-align: left;
}

#available-tickets .container table thead tr {
   background: var(--color-surface, #f9fafb);
}

#available-tickets .container table th {
   font-weight: 600;
}

#available-tickets .container table tbody tr:last-child td {
   border-bottom: none;
}

#available-tickets .container table td:last-child,
#available-tickets .container table th:last-child {
   text-align: right;
}


#available-tickets .cta,
#available-tickets .container .u-text-center {
   text-align: center;
   width: 280px;
   flex-shrink: 0;
   text-wrap: balance;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   padding: 24px;
   border-left: 1px solid var(--color-border, #e5e7eb);
   font-size: 16px;
}

#available-tickets .container .u-text-center button {
   margin-top: 12px;
   width: 100%;
}


#available-tickets a.btn-ghost{
   font-size: 15px;
   min-width: 72px;
   height: 36px;
   line-height: 36px;   
}


#available-tickets tr:hover td{
   background: #F8F8F8;
}


#available-tickets td{
   padding: 20px 16px;
}

#available-tickets .choice-label{
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 36px;
   height: 36px;
   border-radius: 50%;
   border: 1px solid var(--color-25);
   font-weight: 600;
   color: var(--color-70);
   background: white;   
}

#available-tickets .primary{
   font-weight: 600;
   font-size: 16px;
}

#available-tickets .secondary{
   font-size: 13px;
   color: var(--color-70);
   margin-top: 4px;
   display:flex;
   gap:8px;
   align-items:center;
}


@media (max-width: 659px) {

   
   #available-tickets .container {
       flex-direction: column;
   }

   #available-tickets .cta,
   #available-tickets .container .u-text-center {
       width: auto;
       border-left: none;
       border-top: 1px solid var(--color-border, #e5e7eb);
   }
}

#available-tickets .container table td:first-child {
   font-size: 15px;
   font-weight: 600;
}

#available-tickets .ticket-results .container table td:first-child {
   font-size: unset;
   font-weight: unset;
}

#available-tickets .container table td:last-child {
   font-size: 13px;
   text-align: right;
   white-space: nowrap;
   color: var(--color-text, inherit);
}

#available-tickets .container table td:last-child {
   font-size: unset;
   text-align: unset;
   white-space: unset;
   color: unset;
}

#available-tickets .container table td:last-child i,
#available-tickets .container table td:last-child .avail-check {
   display: inline-block;
   width: 16px;
   font-size: 13px;
   vertical-align: middle;
}

#available-tickets .container table td:last-child i {
   color: var(--color-25);
}

#available-tickets .container table td:last-child span {
   color: var(--color-25);
}

#available-tickets .container table td:last-child .avail-check {
   color: green;
}

#available-tickets .container table td:last-child .avail-check + span {
   color: var(--color-text, inherit);
}

#available-tickets .container table td:last-child {
   text-align: right;
}

#available-tickets .container table td:last-child > i,
#available-tickets .container table td:last-child > .avail-check {
   display: inline-block;
   width: 18px;
   text-align: center;
}

#available-tickets table{
   cursor: pointer;
}



/* Ticket Modal Styles */
/*  */
/*  */

#modal-ticket {
   font-size: 16px;
 }

#modal-ticket hgroup, #modal-ticket .modal-container{
   border-radius: 12px;
}

#modal-ticket section {
   border: 0;
   box-shadow: none;
   padding: 0;
}

#modal-ticket section[data-role='hero'] figure {
   width: 100%;
   height: 100%;
}

#modal-ticket section[data-role='hero'] img{
   width: 100%;
   height: 100%;
   object-fit: cover;
   border-radius: 8px;
}

#modal-ticket section[data-role='primary-details']{
   font-size: 24px;
}

#modal-ticket section[data-role='hero'] {
  width: 100%;
  overflow: hidden;
  border-radius: 6px;
}

#modal-ticket section[data-role='hero'] figure.caption-overlay {
  width: 100%;
  position: relative;
  background: #f1f5f8;
}

#modal-ticket section[data-role='hero'] figure.caption-overlay, #modal-ticket section[data-role='hero'] .skeleton {
   aspect-ratio: 2.4 / 1;
}

#modal-ticket section[data-role='hero'] img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  max-height: unset;
}

#modal-ticket section[data-role='hero'] figure[data-media='map'] img {
   object-fit: contain;
   scale: 1.05;
}

#modal-ticket section {
   margin: 0 !important;
   border: none !important;
   box-shadow: none !important;
   padding: 0;
}

#modal-ticket .use-omni figure{
   margin: 0;
   padding: 0;
   display: block;
}

#modal-ticket .use-omni figure figcaption {
   padding: calc(var(--spacing) * 0.5);
   color: var(--color-muted);
   font-weight: 500;
}

#modal-ticket .use-omni figure.caption-overlay{
   position: relative;
}

#modal-ticket .use-omni figure.caption-overlay figcaption{
   position: absolute;
   background: rgba(0, 0, 0, 0.6);
   color: white;
   margin: unset;
   padding: 8px;
}



#modal-ticket .use-omni figure.caption-overlay figcaption[data-position="se"]{
   bottom: 0;
   right: 0;
}


#modal-ticket figure.caption-overlay figcaption {
  position: absolute;

  width: auto;
  max-width: 70%;
  padding: 10px 18px 9px 10px;
  font-size: 0.8em;
  font-weight: 500;
  background: rgba(8,18,40,0.70);
  color: #fff;
  border-radius: 8px;
  text-shadow: 0 1px 8px rgba(0,0,0,0.11);
}



#modal-ticket section[data-role='primary-details'] > [data-role="seats"] {
  font-weight: 600;
  font-size: 22px;
  letter-spacing: -0.01em;
}


#modal-ticket section[data-role='primary-details'] span {
  font-weight: 400;
  color: #586179;
  margin-left: 0.35em;
  font-size: 1em;
}

#modal-ticket section[data-role='checkout'] select, #modal-ticket section[data-role='checkout'] span {
  width: 100%;
  padding: 12px 16px;
  border-radius: 7px;
  border: 1px solid #E5E8EF;
  background: #f7fafd;
  font-size: 1em;
  font-family: inherit;
  color: #232328;
  font-weight: 500;
  margin-bottom: 14px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.03);
  transition: border-color 0.2s;
}

#modal-ticket section[data-role='checkout'] span {
   margin-bottom: 0;
}

#modal-ticket section[data-role='checkout'] select:focus {
  border-color: #0067ce;
  outline: none;
}

#modal-ticket section[data-role='checkout'] [data-role='go-to-checkout'] {
  display: block;
  width: 100%;
  background: #0067ce;
  color: #fff;
  font-size: 1.07em;
  font-weight: 500;
  border: none;
  border-radius: 7px;
  padding: 0.92em 0;
  text-align: center;
  cursor: pointer;
  margin-bottom: 12px;
  margin-top: 4px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.03);
  text-decoration: none;
  transition: background 0.2s;
}

#modal-ticket section[data-role='checkout'] [data-role='go-to-checkout']:hover {
  background: #005bb5;
}

#modal-ticket section[data-role='details'] {

  font-size: 1.02em;
  color: #232328;
}

#modal-ticket [data-list] {
  margin: 1rem 0;
  padding: 0;
  list-style: none;
}

#modal-ticket [data-list] lh {
  display: flex;
  align-items: center;
  font-weight: 500;
  color: #272935;
  font-size: 1em;
  margin-bottom: 0.32em;
  letter-spacing: -0.01em;
  position: relative;
  gap: 0.4em;
}

#modal-ticket [data-list]:not([data-list='previewFeatured']) li {
  font-size: 0.95em;
  color: #586179;
  padding: 0.14em 0;
  line-height: 1.38;
  padding-left: 2em;
}

#modal-ticket .has-icon[data-icon='seats']::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.34em;
  width: 1.05em;
  height: 1.05em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M15 5v7H9V5zm0-2H9a2 2 0 0 0-2 2v9h10V5a2 2 0 0 0-2-2m7 7h-3v3h3zM5 10H2v3h3zm15 5H4v6h2v-4h12v4h2z'/%3E%3C/svg%3E") no-repeat center center;
  background-size: contain;
}

#modal-ticket .has-icon[data-icon='calendar']::before {
   content: "";
   display: inline-block;
   vertical-align: middle;
   margin-right: 0.34em;
   width: 1.05em;
   height: 1.05em;
   background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M19 3h-1V1h-2v2H8V1H6v2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.11 0 2-.89 2-2V5a2 2 0 0 0-2-2m0 16H5V9h14zm0-12H5V5h14z'/%3E%3C/svg%3E") no-repeat center center;
   background-size: contain;
}

#modal-ticket .has-icon[data-icon='more']::before {
   content: "";
   display: inline-block;
   vertical-align: middle;
   margin-right: 0.34em;
   width: 1.05em;
   height: 1.05em;
   background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M5 10c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2m14 0c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2m-7 0c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2'/%3E%3C/svg%3E") no-repeat center center;
   background-size: contain;
}

#modal-ticket .has-icon[data-icon='notes']::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.34em;
  width: 1.05em;
  height: 1.05em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2zm4 2h6m-6 4h6m-6 4h4'/%3E%3C/svg%3E") no-repeat center center;
  background-size: contain;
}

#modal-ticket .has-icon[data-icon='zone']::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.34em;
  width: 1.05em;
  height: 1.05em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='1.5'%3E%3Cpath d='M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2S2 6.477 2 12s4.477 10 10 10Z'/%3E%3Cpath d='M12 18a6 6 0 1 0 0-12a6 6 0 0 0 0 12Z'/%3E%3Cpath d='M12 14a2 2 0 1 0 0-4a2 2 0 0 0 0 4Z'/%3E%3C/g%3E%3C/svg%3E") no-repeat center center;
  background-size: contain;
}

#modal-ticket .has-icon[data-icon='quantity']::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.34em;
  width: 1.14em;
  height: 1.14em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'  viewBox='0 0 15 15'%3E%3Cpath fill='%23000' d='M5 8.9c1.44 0 2.68.252 3.575.855C9.502 10.38 10 11.343 10 12.6a.501.501 0 0 1-1 0c0-.958-.358-1.596-.983-2.017C7.359 10.141 6.35 9.9 5 9.9s-2.36.241-3.017.684C1.358 11.005 1 11.643 1 12.601a.501.501 0 0 1-1 0c0-1.258.497-2.221 1.424-2.846C2.319 9.152 3.56 8.9 5 8.9m4.975 0c1.439 0 2.68.252 3.575.855c.927.625 1.425 1.588 1.425 2.846a.5.5 0 0 1-1 0c0-.958-.358-1.596-.984-2.017c-.518-.349-1.253-.57-2.202-.65a4.5 4.5 0 0 0-.87-1.033zM5 1.85a3.151 3.151 0 0 1 0 6.3a3.15 3.15 0 1 1 0-6.3m4.975 0a3.15 3.15 0 0 1 0 6.3c-.524 0-1.016-.13-1.45-.356a4.5 4.5 0 0 0 .534-.852a2.15 2.15 0 1 0 0-3.887a4.5 4.5 0 0 0-.535-.85a3.1 3.1 0 0 1 1.45-.355M5 2.85a2.151 2.151 0 0 0 0 4.3a2.15 2.15 0 0 0 0-4.3'/%3E%3C/svg%3E") no-repeat center center;
  background-size: contain;
}

#modal-ticket section[data-role='primary-details'] {
   display: flex;
   flex-direction: column;
   gap: 0.35em;
}

#modal-ticket section[data-role='primary-details'] [data-role="price"] {
   display: inline-flex;
   align-items: baseline;
   font-size: 18px;
   font-weight: 500;
   color: #232328;
   gap: 0.32em;
}

#modal-ticket section[data-role='primary-details'] span {
   font-size: 0.97em;
   font-weight: 400;
   color: #586179;
   margin: 0;
}

#modal-ticket main > section {
   margin-bottom: 1.5em !important;
}

#modal-ticket main > section[data-role='hero'] {
   margin-bottom: 0.8em !important;
}

#modal-ticket section[data-role='checkout'] {
   display: flex;
   align-items: center;
   gap: 14px;

   max-width: 320px;
   margin: 0 auto;
}

#modal-ticket section[data-role='checkout'] select {
   flex: 1 0 50%;
   margin-bottom: 0;
   min-width: 110px;
   max-width: 55%;
}

#modal-ticket section[data-role='checkout'] [data-role='go-to-checkout'] {
   flex: 1 0 50%;
   margin: 0;
   min-width: 96px;
   max-width: 40%;
   padding: 12px 0;
}

#modal-ticket section[data-role='details'] {
   margin-bottom: 1.1em;
}

#modal-ticket main > section:last-child {
   margin-bottom: 0 !important;
}

#modal-ticket .cmodal button.is-close{
    background: white;
    border-radius: 8px;
}

#modal-ticket button.is-close{
    top: 12px;
}

@media (max-width: 600px) {
   .cmodal#modal-ticket .modal-container {
     width: 100%;
     max-width: 100%;
     left: 0;
     top: 0;
     min-height: 100vh;
     min-height: 100dvh;
     border-radius: 0;
     transform: none;
     scrollbar-gutter: stable;
     overflow-x: hidden;
   }

   #modal-ticket section[data-role='hero'] figure.caption-overlay, #modal-ticket section[data-role='hero'] .skeleton {
      aspect-ratio: 1.6 / 1;
   }
}

#modal-ticket .has-icon[data-icon='price']::before {
   content: "";
   display: inline-block;
   vertical-align: middle;
   margin-right: 0.34em;
   width: 1.14em;
   height: 1.14em;
   background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z'/%3E%3Ccircle cx='7.5' cy='7.5' r='.5' fill='%23000'/%3E%3C/g%3E%3C/svg%3E") no-repeat center center;
   background-size: contain;
}

#modal-ticket .has-icon[data-icon='trust-reviews']::before {
   content: "";
   display: inline-block;
   vertical-align: middle;
   margin-right: 0.34em;
   width: 1.14em;
   height: 1.14em;
   background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%230067ce' d='m16 8l1.912 3.703l4.088.594L19 15l1 4l-4-2.25L12 19l1-4l-3-2.703l4.2-.594z'/%3E%3Cpath fill='%230067ce' d='M17.736 30L16 29l4-7h6a1.997 1.997 0 0 0 2-2V8a1.997 1.997 0 0 0-2-2H6a1.997 1.997 0 0 0-2 2v12a1.997 1.997 0 0 0 2 2h9v2H6a4 4 0 0 1-4-4V8a4 4 0 0 1 4-4h20a4 4 0 0 1 4 4v12a4 4 0 0 1-4 4h-4.835Z'/%3E%3C/svg%3E") no-repeat center center;
   background-size: contain;
}

#modal-ticket ul[data-list='marquee']{
   padding: 12px 24px;
   margin: 0px -24px;
   background: linear-gradient(to right, rgb(253 233 239) 0%, rgba(0, 103, 206, 0.01) 100%);
}

#modal-ticket ul[data-list='marquee'] lh, #modal-ticket ul[data-list='marquee'] li:first-of-type {
   color: var(--marqueeColor);
   font-weight: 600;
}

#modal-ticket ul[data-list='marquee'] li:first-of-type{
    margin-bottom: 1em;
}

#modal-ticket .has-icon[data-icon='marquee']::before {
   content: "";
   display: inline-block;
   vertical-align: middle;
   margin-right: 0.34em;
   width: 1.14em;
   height: 1.14em;
   background: var(--marqueeIcon);
   background-size: contain;
}

#modal-ticket hgroup .is-header{
    font-size: 0.8em;
    font-weight: normal;
    color: #586179;
}

#modal-ticket hgroup{
    line-height: 54px;
    padding-top: 0;
    padding-bottom: 0;
}

#modal-ticket section[data-role='trust']{
   background: linear-gradient(
      to right,
      rgba(0, 103, 206, 0.1) 0%,
      rgba(0, 103, 206, 0.01) 100%
    );
    padding: 12px;
    font-size: 1.02em;
    border-radius: 0 !important;
    margin-left: clamp(-24px, -3vw, -16px) !important;
    margin-right: clamp(-24px, -3vw, -16px) !important;
    padding-left: clamp(16px, 3vw, 24px);
    padding-right: clamp(16px, 3vw, 24px);
    position: relative;
}

#modal-ticket section[data-role='trust'] lh{
   color: #0067CE;
   font-weight: 500;
}

#modal-ticket section[data-role='trust'] ul{
   margin: 0;
}

#modal-ticket section[data-role='trust'] ul li{
   padding-right: 3em !important;
   font-size: 0.85em !important;
}

#modal-ticket section[data-role='trust'] .google-badge{
   position: absolute;
   bottom: 0.5em;
   right: 1.2em;
   height: 4vw;
   max-height: 2.4em;
   min-height: 1.4em;
}

#modal-ticket ul[data-list='footer']{
   text-align: right;
}

#modal-ticket ul[data-list='footer'] a{
   color: black;
}

#modal-ticket [data-role='deal']{
   font-size: 0.68em;
}

#modal-ticket [data-role='deal'] span{
   background: green;
   color: white !important;
   border-radius: 4px;
   padding: 2px 4px;
   font-size: 0.68em !important;
}

#modal-ticket [data-role='deal'] strong{
   color: green;
   font-weight: normal;
}

/* --- 2. Gallery Frame and Swiping Container --- */
#modal-ticket [data-role='gallery-frame'] {
   position: relative;
   overflow: hidden; 

}

/* 💥 EDIT: Navigation buttons are hidden by default, visible on frame hover */
#modal-ticket [data-role='gallery-frame']:hover button[data-action] {
   opacity: 1;
}

#modal-ticket [data-role='gallery-list'] {
   display: flex; 
   transition: transform 0.3s ease-in-out;
   width: 100%; 
   height: 100%; 
}

#modal-ticket [data-role='gallery-list'] figure {
   flex-shrink: 0; 
   width: 100%; 
   height: 100%; 
   margin: 0;
   position: relative;
   display: flex; 
}

#modal-ticket [data-role='gallery-list'] img {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover; 
}

/* Photo Caption */
#modal-ticket [data-role='gallery-list'] figcaption {
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0; 
   background: rgba(0, 0, 0, 0.6);
   color: white;
   padding: 8px 15px;
   font-size: 0.9em;
}


/* --- 3. Navigation Buttons (Hidden/Visible/Styled) --- */
#modal-ticket [data-role='gallery-frame'] button[data-action] {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   
   /* 💥 EDIT: Initial button style (White BG @ 70% opacity, Black arrow text) */
   background: rgba(255, 255, 255, 0.85); 
   color: black; 
   
   border: none;
   cursor: pointer;
   z-index: 10;
   font-size: 1.3em;
   line-height: 1;
   
   /* 💥 EDIT: Hidden by default and transition for fade effect */
   opacity: 0;
   transition: opacity 0.3s, background 0.2s; 
   
   border-radius: 50%;
   width: 32px;
   height: 32px;
}

/* 💥 EDIT: Button hover state (100% white BG) */
#modal-ticket [data-role='gallery-frame'] button[data-action]:hover {
   background: rgba(255, 255, 255, 1);
}

#modal-ticket [data-role='gallery-frame'] button[data-action='prev'] {
   left: 10px;
}

#modal-ticket [data-role='gallery-frame'] button[data-action='next'] {
   right: 10px;
}

/* --- 4. Navigation Dots (5-Dot Viewport Logic) --- */

#modal-ticket [data-role='gallery-dots-viewport'] {
   /* Set max visible width (5 dots * 16px total width per dot = 80px) */
   width: 80px; 
   height: 16px; 
   overflow: hidden; /* Clips dots outside the viewport */
   position: absolute; 
   bottom: 10px; /* Position pagination at the bottom */
   left: 50%; 
   transform: translateX(-50%); /* Centers the viewport itself */
   z-index: 10;
}

#modal-ticket [data-role='gallery-dots'] {
   display: flex;
   gap: 8px; /* Space between dots */
   position: absolute; /* Allows for X-axis positioning */
   top: 0;
   
   /* FIX: Centers the ENTIRE list of dots */
   left: 50%; 
   transform: translateX(-50%); 
   transition: transform 0.2s ease-in-out; 
}

#modal-ticket [data-role='gallery-dots'] span {
   display: block;
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background: rgba(255, 255, 255, 0.6);
   cursor: pointer;
   transition: background 0.2s, transform 0.2s;
   flex-shrink: 0; 
}

#modal-ticket [data-role='gallery-dots'] span.active {
   background: white;
   transform: scale(1.2);
}

/* --- 5. Seating Chart Overlay --- */
#modal-ticket [data-role='gallery-overlay'] {
   position: absolute;
   /* EDIT: Moved slightly closer to the corner */
   bottom: 12px;
   right: 12px;
   z-index: 15; 
   opacity: 1;
   visibility: visible;
   transition: opacity 0.3s, visibility 0.3s;
   
   /* EDIT: Sizing using percentages and min/max */
   width: 16%;
   min-width: 56px;
   max-width: 84px;
}

#modal-ticket [data-role='gallery-overlay'].overlay-active {
   opacity: 0;
   visibility: hidden;
}

#modal-ticket [data-role='gallery-overlay'] [data-overlay-target] {
   display: block;
   width: 100%; 
   aspect-ratio: 1.2 / 1;
   background: #DDD;
   border-radius: 5px;
   box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
   cursor: pointer;
   overflow: hidden;
}

#modal-ticket [data-role='gallery-overlay'] [data-overlay-target] img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}


#modal-ticket [data-role='hero'] figcaption{
   top: 4px;
   left: unset;
   bottom: unset;
   right: 4px;
   border-radius: 8px;
}

#modal-ticket select{
   appearance: auto;
}

#modal-ticket.cmodal main{
   padding-inline: clamp(16px, 3vw, 24px); 
}