/* HBCU GameTrip Place Sidebar */
.tktc-place-sidebar-stack{display:flex;flex-direction:column;gap:22px;width:100%;min-width:0}
.tktc-place-side-widget{background:var(--tktc-native-surface,#fff);border:1px solid var(--tktc-native-border,#eee);border-radius:10px;padding:22px;min-width:0;color:var(--tktc-native-text,#5d5d5d);font:inherit}
.tktc-place-side-widget *{box-sizing:border-box}
.tktc-side-heading{margin:0 0 17px}
.tktc-side-heading h3{font-size:20px;line-height:1.25;margin:0;color:var(--tktc-native-heading,#2d2d2d);font-weight:500}
.tktc-side-footer-link,.tktc-side-inline-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;text-decoration:none}
.tktc-side-footer-link{margin-top:17px;padding-top:15px;border-top:1px solid var(--tktc-native-border,#eee);width:100%;justify-content:flex-start;color:var(--tktc-native-heading,#2d2d2d);font-weight:500}
.tktc-side-inline-link{margin-top:0;font-weight:500}
.tktc-side-events,.tktc-side-places{display:flex;flex-direction:column;gap:15px}
.tktc-side-event{display:grid;grid-template-columns:48px minmax(0,1fr);gap:13px;align-items:start}
.tktc-side-event+.tktc-side-event,.tktc-side-place+.tktc-side-place{padding-top:15px;border-top:1px solid var(--tktc-native-border,#eee)}
.tktc-side-event-date{border:1px solid var(--tktc-native-border,#eee);border-radius:8px;overflow:hidden;text-align:center;background:var(--tktc-native-surface-alt,#f8f8f8)}
.tktc-side-event-date strong{display:block;font-size:20px;line-height:1.15;padding:8px 3px 2px;color:var(--tktc-native-accent,#23d3d3)}
.tktc-side-event-date span{display:block;font-size:12px;line-height:1.2;font-weight:600;letter-spacing:.04em;padding:2px 3px 7px;color:var(--tktc-native-muted,var(--tktc-native-text,#5d5d5d))}
.tktc-side-event-body,.tktc-side-place-body{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;padding:2px 0}
.tktc-side-event h4,.tktc-side-place h4{font-size:15px;line-height:1.35;font-weight:500;margin:0;color:var(--tktc-native-heading,#2d2d2d)}
.tktc-side-event h4 a,.tktc-side-place h4 a{color:inherit;text-decoration:none}
.tktc-side-event p,.tktc-side-place p{font-size:13px;line-height:1.45;color:var(--tktc-native-muted,var(--tktc-native-text,#5d5d5d));margin:0}
.tktc-place-side-widget .la-map-marker:before{color:var(--tktc-native-accent,var(--accent-color,#23d3d3))!important}

.tktc-side-place{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center}
.tktc-side-place-image{display:block;width:72px;height:66px;border-radius:8px;overflow:hidden;background:#f1f1f1}
.tktc-side-place-image img{width:100%;height:100%;object-fit:cover;display:block}
.tktc-side-place-noimage{display:block;width:100%;height:100%;background:linear-gradient(135deg,#f0f0f0,#e4e4e4)}
.tktc-gameday-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--tktc-native-surface-alt,#f8f8f8);border-radius:8px;padding:3px;margin:-2px 0 16px}
.tktc-gameday-tabs button{appearance:none;border:0;background:transparent;border-radius:6px;padding:9px 8px;font-size:13px;font-weight:500;color:var(--tktc-native-muted,var(--tktc-native-text,#5d5d5d));cursor:pointer}
.tktc-gameday-tabs button.is-active{background:var(--tktc-native-surface,#fff);color:var(--tktc-native-accent,#23d3d3);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.tktc-gameday-panel{display:none}
.tktc-gameday-panel.is-active{display:block}

/* Reflow the existing Ticketality travel search for a narrow sidebar without
   creating a second travel/provider integration. */
.tktc-place-trip-widget .tktc-travel-search{width:100%;min-width:0}
.tktc-place-trip-widget .tktc-travel-mobile-trigger{display:none!important}
.tktc-place-trip-widget .tktc-travel-form{display:block!important;position:relative!important;inset:auto!important;transform:none!important;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
.tktc-place-trip-widget .tktc-travel-mobile-close{display:none!important}
.tktc-place-trip-widget .tktc-travel-mode-switch{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;margin:0 0 12px!important;border-right:0!important;border-radius:10px;overflow:hidden}
.tktc-place-trip-widget .tktc-travel-mode-btn{justify-content:center!important;min-height:40px!important;border-radius:0}
.tktc-place-trip-widget .tktc-travel-mode-btn:first-child{border-radius:9px 0 0 9px}
.tktc-place-trip-widget .tktc-travel-mode-btn:last-child{border-radius:0 9px 9px 0}
.tktc-place-trip-widget .tktc-travel-mode-panel{display:none!important;grid-template-columns:1fr!important;gap:9px!important;width:100%!important}
.tktc-place-trip-widget .tktc-travel-mode-panel.is-active{display:grid!important}
.tktc-place-trip-widget .tktc-travel-field{width:100%!important;min-width:0!important;border:1px solid #e5e5e5!important;border-radius:8px!important;min-height:46px!important;margin:0!important;padding:8px 10px!important}
.tktc-place-trip-widget .tktc-travel-field input,.tktc-place-trip-widget .tktc-travel-field select{font-size:13px!important;min-width:0!important}
.tktc-place-trip-widget .tktc-travel-date-pair,.tktc-place-trip-widget .tktc-travel-select-pair{display:flex!important;gap:5px!important;min-width:0!important}
.tktc-place-trip-widget .tktc-travel-submit{width:100%!important;min-height:44px!important;margin-top:10px!important;border-radius:8px!important;justify-content:center!important}

@media (hover:hover) and (pointer:fine){
  .tktc-side-event h4 a:hover,.tktc-side-place h4 a:hover,.tktc-side-footer-link:hover{text-decoration:none;opacity:.75}
}
@media (max-width:767px){
  .tktc-place-sidebar-stack{gap:16px}
  .tktc-place-side-widget{padding:18px}
}

/* HBCU GameTrip accent alignment */
.tktc-place-side-widget .tktc-side-inline-link,.tktc-place-side-widget .tktc-side-footer-link{color:var(--tktc-native-accent,#23d3d3)}
.tktc-place-side-widget .tktc-gameday-tabs button.is-active{color:var(--tktc-native-accent,#23d3d3)}


/* Getting Around: cached Google Places transit/parking + lightweight rideshare links */
.tktc-mobility-tabs{display:grid;grid-template-columns:repeat(var(--tktc-mobility-tab-count,3),minmax(0,1fr));background:var(--tktc-native-surface-alt,#f8f8f8);border-radius:8px;padding:3px;margin:-2px 0 16px}
.tktc-mobility-tabs button{appearance:none;border:0;background:transparent;border-radius:6px;min-width:0;padding:9px 5px;font-size:13px;font-weight:500;color:var(--tktc-native-muted,var(--tktc-native-text,#5d5d5d));cursor:pointer}
.tktc-mobility-tabs button.is-active{background:var(--tktc-native-surface,#fff);color:var(--tktc-native-accent,#23d3d3);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.tktc-mobility-panel{display:none}
.tktc-mobility-panel.is-active{display:block}
.tktc-mobility-empty{margin:0 0 12px;color:var(--tktc-native-muted,var(--tktc-native-text,#5d5d5d));font-size:14px;line-height:1.5}
.tktc-mobility-list{display:flex;flex-direction:column;gap:0}
.tktc-mobility-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;padding:11px 0;text-decoration:none;color:var(--tktc-native-heading,#2d2d2d)}
.tktc-mobility-row+.tktc-mobility-row{border-top:1px solid var(--tktc-native-border,#eee)}
.tktc-mobility-icon{display:flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:8px;background:color-mix(in srgb,var(--tktc-native-accent,#23d3d3) 10%,#fff);color:var(--tktc-native-accent,#23d3d3);font-size:13px;font-weight:600}
.tktc-mobility-copy{display:flex;flex-direction:column;min-width:0}
.tktc-mobility-copy strong{font-size:14px;line-height:1.35;font-weight:500;color:var(--tktc-native-heading,#2d2d2d)}
.tktc-mobility-copy small{margin-top:3px;font-size:13px;line-height:1.35;color:var(--tktc-native-muted,var(--tktc-native-text,#5d5d5d))}
.tktc-rideshare-note{font-size:14px;line-height:1.5;color:var(--tktc-native-muted,var(--tktc-native-text,#5d5d5d));margin:0 0 12px}
.tktc-rideshare-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.tktc-rideshare-actions a{display:flex;align-items:center;justify-content:center;min-height:42px;border:1px solid var(--tktc-native-border,#eee);border-radius:8px;padding:10px 12px;background:var(--tktc-native-surface-alt,#f8f8f8);color:var(--tktc-native-heading,#2d2d2d);text-decoration:none;font-size:14px;font-weight:500}
.tktc-place-side-widget>.tktc-google-attribution{margin-top:14px;font-family:inherit;font-size:12px;font-weight:400;line-height:1.2;color:var(--tktc-native-muted,var(--tktc-native-text,#5d5d5d));text-align:right;white-space:nowrap}
@media (hover:hover) and (pointer:fine){.tktc-mobility-row:hover,.tktc-rideshare-actions a:hover{opacity:.75;text-decoration:none}}

/* Small tablets: preserve Golo's native sidebar wrapper/layout behavior and
   use its full-width below-content sidebar as a two-column recommendation dashboard. */
@media (min-width:768px) and (max-width:991px){
  body.single-place .tktc-place-sidebar-stack{
    display:grid;
    width:100%;
    max-width:none;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    align-items:start;
  }
  body.single-place .tktc-place-side-widget{
    width:100%;
    min-width:0;
    max-width:none;
    margin:0;
  }
}


/* v1.6.3: Native Golo sidebar integration.
   This hidden marker is consumed by Golo Framework template.js, which moves
   its has-sticky class to .widget-area-inner. Ticketality intentionally does
   not implement position:sticky, max-height, overflow-y or a custom scrollbar. */
.tktc-golo-sticky-trigger{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  min-height:0 !important;
  height:0 !important;
}


/* v1.6.4: Full-length native Golo sticky support for a tall GameTrip stack.
   Golo's native sticky wrapper was designed around a short booking widget.
   The GameTrip sidebar can be taller than the viewport, so keep Golo's
   .widget-area-inner.has-sticky element but allow its top offset to move
   negative until the bottom of the stack is visible. #secondary is explicitly
   stretched to the full #primary content height so the sticky boundary is the
   complete Place content section. No internal scrolling is introduced. */
@media (min-width:992px){
  body.single-place .site-layout.has-sidebar{
    align-items:stretch !important;
  }
  body.single-place .site-layout.has-sidebar > #secondary{
    align-self:stretch !important;
    min-height:var(--tktc-place-primary-height, auto);
  }
  body.single-place .site-layout.has-sidebar > #secondary > .widget-area-inner.has-sticky{
    top:var(--tktc-golo-sticky-top, 30px) !important;
    bottom:auto !important;
    width:100%;
  }
}

/* v1.7.95 — single Place sidebar travel search: compact mobile card layout.
   The sidebar owns this form, so it should remain an inline card instead of
   inheriting the full-screen mobile travel-drawer proportions. */
@media (max-width:767px){
  .tktc-place-trip-widget{padding:18px}
  .tktc-place-trip-widget .tktc-side-heading{margin-bottom:14px}
  .tktc-place-trip-widget .tktc-travel-mode-switch{
    height:46px!important;
    margin:0 0 12px!important;
    padding:3px!important;
    border:1px solid #ececec!important;
    border-radius:10px;
    background:#f7f7f7!important;
    overflow:hidden;
  }
  .tktc-place-trip-widget .tktc-travel-mode-btn{
    min-height:38px!important;
    padding:0 10px!important;
    border-radius:0;
    font-size:13px!important;
  }
  .tktc-place-trip-widget .tktc-travel-mode-btn:first-child{border-radius:25px 0 0 7px}
  .tktc-place-trip-widget .tktc-travel-mode-btn:last-child{border-radius:0 25px 7px 0}
  .tktc-place-trip-widget .tktc-travel-mode-panel.is-active{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .tktc-place-trip-widget .tktc-travel-field{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    min-height:56px!important;
    margin:0!important;
    padding:9px 12px!important;
    border:1px solid #e6e6e6!important;
    border-radius:10px!important;
    background:#fff!important;
  }
  .tktc-place-trip-widget .tktc-travel-field > .tktc-travel-icon{
    flex:0 0 20px!important;
    width:20px!important;
    height:20px!important;
    margin:0!important;
  }
  .tktc-place-trip-widget .tktc-travel-field-inner{min-width:0!important}
  .tktc-place-trip-widget .tktc-travel-field label{
    margin:0 0 3px!important;
    font-size:12px!important;
    line-height:1.1!important;
    letter-spacing:.05em!important;
  }
  .tktc-place-trip-widget .tktc-travel-field input,
  .tktc-place-trip-widget .tktc-travel-field select{
    min-height:20px!important;
    font-size:13px!important;
    line-height:1.25!important;
  }
  .tktc-place-trip-widget .tktc-travel-date-pair,
  .tktc-place-trip-widget .tktc-travel-select-pair{
    width:100%!important;
    gap:6px!important;
  }
  .tktc-place-trip-widget .tktc-travel-date-pair span{font-size:13px!important}
  .tktc-place-trip-widget .tktc-travel-submit{
    min-height:48px!important;
    margin-top:10px!important;
    border-radius:10px!important;
    font-size:14px!important;
  }
}


/* v1.7.127 — compact Google credit at the lower-right of Getting Around cards. */
.tktc-place-mobility-widget .tktc-mobility-panel{position:relative}
.tktc-place-mobility-widget .tktc-google-attribution{
  display:block!important;
  width:100%!important;
  margin:9px 0 0!important;
  padding:0!important;
  font-family:inherit!important;
  font-size:10px!important;
  font-weight:400!important;
  line-height:1!important;
  color:var(--tktc-native-muted,var(--tktc-native-text,#5d5d5d))!important;
  text-align:right!important;
  white-space:nowrap!important;
}
