/* Ticket labels may wrap without sending the external arrow to a separate row. */
.ticket-button .booking-action-label { min-width:0;overflow-wrap:anywhere; }
.ticket-button .ticket-button-arrow,.ticket-button>.ui-icon { flex:none; }
.ticket-button .ticket-button-arrow { white-space:nowrap; }
/* Approved ticket treatment: calm fill, readable text and a persistent brand edge. */
.ticket-button {
 position:relative;background:#242424;color:#f5f5f5;border-color:#555;
 --gg-ticket-hover:#323232;--gg-ticket-pressed:#191919;--gg-ticket-text:#f5f5f5;
}
.act-table .ticket-button {
 --gg-ticket-hover:#ff8a34;--gg-ticket-pressed:#ec6810;--gg-ticket-text:var(--gg-bg);
}
@media(hover:hover) and (pointer:fine) {
 .ticket-button:where(:not(:disabled):not([aria-disabled=true])):hover {
  background:var(--gg-ticket-hover);color:var(--gg-ticket-text);
 }
}
.ticket-button:where(:not(:disabled):not([aria-disabled=true])):active {
 background:var(--gg-ticket-pressed);color:var(--gg-ticket-text);
}
@property --gg-ticket-ring-angle { syntax:"<angle>";inherits:false;initial-value:0deg; }
.page-gig .booking-action { position:relative; }
@supports (mask-composite:exclude) or (-webkit-mask-composite:xor) {
 :is(.event-booking,.event-ticket-bar,.experience-ticket,.experience-heading-action,.act-table) .ticket-button::before,
 .page-gig .booking-action::before {
  content:"";position:absolute;inset:-1px;border-radius:inherit;padding:2px;
  background:conic-gradient(from var(--gg-ticket-ring-angle),var(--gg-rainbow-stops));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
  pointer-events:none;
 }
 .page-gig .booking-action::before { opacity:0;transition:opacity .15s ease; }
 :is(.event-booking,.event-ticket-bar,.experience-ticket,.experience-heading-action,.act-table) .ticket-button:focus-visible::before,
 .page-gig .booking-action:focus-visible::before { opacity:1;animation:ticket-ring-turn 4s linear 1; }
 @media(hover:hover) and (pointer:fine) {
  :is(.event-booking,.event-ticket-bar,.experience-ticket,.experience-heading-action,.act-table) .ticket-button:hover::before,
  .page-gig .booking-action:hover::before { opacity:1;animation:ticket-ring-turn 4s linear 1; }
 }
 @keyframes ticket-ring-turn { to { --gg-ticket-ring-angle:360deg; } }
 @media(prefers-reduced-motion:reduce) {
  :is(.event-booking,.event-ticket-bar,.experience-ticket,.experience-heading-action,.act-table) .ticket-button::before,
  .page-gig .booking-action::before { animation:none!important;transition:none; }
 }
}
/* Shared feedback uses the supplied palette without changing control geometry. */
.discovery-form>.field:focus-within {
 outline:2px solid var(--gg-link);outline-offset:2px;
}
.event-type-options label { border-radius:var(--gg-radius); }
.event-type-options label:has(input:focus-visible) {
 background:var(--gg-surface-3);outline:2px solid var(--gg-link);outline-offset:2px;
}
button:disabled,[aria-disabled=true] { cursor:default; }
button:not(:disabled):not([aria-disabled=true]):active {
 background:var(--gg-control-pressed,var(--gg-surface-4));
}
.find-button,.ticket-button,.date-apply,.save-gig[aria-pressed=true],
.category-chip[aria-current=true],.date-presets button[aria-pressed=true],
.area-state-tabs button[aria-pressed=true],.price-options button[aria-pressed=true] {
 --gg-control-pressed:var(--gg-primary-active);
}
.weekend-card>a:active,.event-card>a:active,.experience-card-link:active,
.place-directory-grid a:active,.city-category-grid a:active,
.search-scroll-tools>a:active,.mobile-nav>a:active,.suggestions-items a:active {
 background:var(--gg-surface-3);
}
.header-main nav a:active { background:var(--gg-surface-3); }
.booking-promotion a:active { background:var(--gg-surface-3); }
@media(hover:hover) and (pointer:fine) {
 :is(.quick-links button,.tonight-quick-filters button,.section-heading .section-link,
     .browse-region-grid button,.active-filter button,.area-option,.date-presets button,
     .area-selection button,.area-dialog-head button,.area-state-tabs button,
     .quick-menu-heading button,.date-dialog-heading button,.suggestions-heading button,
     .header-area-clear button,.group-clear,.header-search-open,.area-picker,.area-browse-trigger,
     .search-scroll-tools>a,.search-scroll-tools button):not(:disabled):not([aria-disabled=true]):not([aria-pressed=true]):not([aria-current=true]):hover {
  background:var(--gg-surface-3);color:var(--gg-text-1);border-color:var(--gg-text-3);
 }
 .header-main nav :is(a,button):not([aria-pressed=true]):not([aria-disabled=true]):hover {
  background:var(--gg-surface-3);color:var(--gg-text-1);
 }
 .event-type-options label:not(:has(input:disabled)):hover { background:var(--gg-surface-3); }
 .navigation-row a:not(.row-primary):not(.ticket-button):hover { text-decoration:underline; }
 .discovery-form>.field:has(input:hover,.calendar-trigger:hover):not(:focus-within) {
  box-shadow:inset 0 0 0 1px var(--gg-text-3);
 }
 .results-sort select:enabled:hover,.results-sidebar input:not([type=checkbox]):enabled:hover,
 .place-directory-search input:enabled:hover { border-color:var(--gg-text-3); }
}
@media(max-width:999px) {
 #area-dialog [data-area-close],.quick-menu-heading button {
  width:44px;min-width:44px;height:44px;min-height:44px;padding:0;
 }
 .footer-columns button,.footer-states button { min-width:44px; }
}
