.elementor-98891 .elementor-element.elementor-element-5b8337a{--display:flex;}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-98891 .elementor-element.elementor-element-56d02be{--display:flex;}.elementor-98891 .elementor-element.elementor-element-56d02be.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-98891 .elementor-element.elementor-element-bed1d63{--display:flex;}.elementor-98891 .elementor-element.elementor-element-bed1d63.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-98891 .elementor-element.elementor-element-e030428{--display:flex;}.elementor-98891 .elementor-element.elementor-element-e030428.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-98891 .elementor-element.elementor-element-efa4c8a{--display:flex;}.elementor-98891 .elementor-element.elementor-element-b6036ae{--n-tabs-heading-wrap:nowrap;--n-tabs-heading-overflow-x:scroll;--n-tabs-title-white-space:nowrap;--n-tabs-title-border-radius:10px 10px 10px 10px;--n-tabs-title-color:#CCCCCC;--n-tabs-title-color-active:#1A1A1A;}.elementor-98891 .elementor-element.elementor-element-b6036ae > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:#2A2A2A;background-color:transparent;background-image:linear-gradient(180deg, #2A2A2A 0%, #3A3A3A 100%);}.elementor-98891 .elementor-element.elementor-element-b6036ae.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#F5A623;background-color:transparent;background-image:linear-gradient(180deg, #F5A623 0%, #FFB84D 100%);border-style:solid;border-color:#F5A623;}.elementor-98891 .elementor-element.elementor-element-b6036ae.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-98891 .elementor-element.elementor-element-b6036ae.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#F5A623;border-style:solid;border-color:#FFB84D;}.elementor-98891 .elementor-element.elementor-element-b6036ae.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:not( :hover ){border-style:solid;border-width:3px 3px 3px 3px;border-color:#444444;}.elementor-98891 .elementor-element.elementor-element-b6036ae.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:"Roboto Condensed", Sans-serif;font-weight:500;}.elementor-98891 .elementor-element.elementor-element-b6036ae [data-touch-mode="false"] .e-n-tab-title[aria-selected="false"]:hover{--n-tabs-title-color-hover:#1A1A1A;}:where( .elementor-98891 .elementor-element.elementor-element-b6036ae.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-content ) > .e-con{border-style:solid;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-98891 .elementor-element.elementor-element-56d02be{--width:290%;}.elementor-98891 .elementor-element.elementor-element-03aef5c{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-98891 .elementor-element.elementor-element-bed1d63{--width:290%;}.elementor-98891 .elementor-element.elementor-element-e030428{--width:280%;}.elementor-98891 .elementor-element.elementor-element-efa4c8a{--width:280%;}.elementor-98891 .elementor-element.elementor-element-b6036ae{--n-tabs-direction:row-reverse;--n-tabs-heading-direction:column;--n-tabs-heading-width:15px;--n-tabs-title-flex-basis:initial;--n-tabs-title-flex-shrink:initial;width:var( --container-widget-width, 130px );max-width:130px;--container-widget-width:130px;--container-widget-flex-grow:0;--n-tabs-title-gap:5px;}}/* Start custom CSS for shortcode, class: .elementor-element-03aef5c *//* ======================================
   COMEDY SHOWS DIRECTORY - COMPLETE GAMING AESTHETIC CSS
   Desktop layout improvements with zero PHP changes required
   ====================================== */

/* CSS VARIABLES FOR CONSISTENT THEMING */
:root {
  --comedy-primary: #f5a623;
  --comedy-primary-light: #ffb84d;
  --comedy-primary-dark: #d4941f;
  --comedy-secondary: #1a1a1a;
  --comedy-secondary-light: #2a2a2a;
  --comedy-accent-glow: rgba(245, 166, 35, 0.3);
  --comedy-accent-glow-intense: rgba(245, 166, 35, 0.5);
  --comedy-text-light: #ccc;
  --comedy-text-white: #fff;
  --comedy-border-color: #444;
  --comedy-hover-transform: translateY(-2px);
  --comedy-warning-red: #ff4444;
  --comedy-warning-red-glow: rgba(255, 68, 68, 0.4);
}

/* SEARCH SECTION - Gaming Style */
.comedy-shows-section .comedy-search-container {
  border-left: none !important;
  margin-bottom: 25px !important;
  padding: 0 !important;
}

.comedy-search-form {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  padding: 15px 20px !important;
  border-radius: 12px !important;
  border: 2px solid var(--comedy-border-color) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

.comedy-search-wrapper {
  flex: 1 !important;
  position: relative !important;
}

.comedy-search-input {
  width: 100% !important;
  padding: 12px 16px !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border: 2px solid var(--comedy-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedy-text-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

.comedy-search-input:focus {
  outline: none !important;
  border-color: var(--comedy-primary) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--comedy-accent-glow) !important;
  background: linear-gradient(135deg, #222 0%, #333 100%) !important;
}

.comedy-search-input::placeholder {
  color: #888 !important;
  font-style: italic !important;
}

.comedy-date-wrapper {
  min-width: 150px !important;
}

.comedy-date-input {
  padding: 12px 16px !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border: 2px solid var(--comedy-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedy-text-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

.comedy-date-input:focus {
  outline: none !important;
  border-color: var(--comedy-primary) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--comedy-accent-glow) !important;
  background: linear-gradient(135deg, #222 0%, #333 100%) !important;
}

/* Search Buttons */
.comedy-search-button {
  padding: 12px 20px !important;
  background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
  border: 2px solid var(--comedy-primary) !important;
  border-radius: 8px !important;
  color: var(--comedy-secondary) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
  min-width: 80px !important;
}

.comedy-search-button:hover {
  background: linear-gradient(135deg, var(--comedy-primary-dark) 0%, var(--comedy-primary) 100%) !important;
  transform: var(--comedy-hover-transform) !important;
  box-shadow: 0 5px 15px var(--comedy-accent-glow) !important;
}

.comedy-search-button.comedy-clear-btn {
  background: linear-gradient(135deg, #444 0%, #555 100%) !important;
  border-color: #666 !important;
  color: var(--comedy-text-light) !important;
}

.comedy-search-button.comedy-clear-btn:hover {
  background: linear-gradient(135deg, #555 0%, #666 100%) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-text-white) !important;
  box-shadow: 0 5px 15px rgba(245, 166, 35, 0.2) !important;
}

/* HIDE LOCATION STATUS COMPLETELY */
.comedy-location-status {
  display: none !important;
}

/* POPULAR CITIES FILTER */
.comedy-filter-buttons {
  margin-bottom: 20px !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: flex-start !important;
}

.comedy-filter-buttons::before {
  content: "Popular Cities" !important;
  display: block !important;
  color: var(--comedy-primary) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  margin-bottom: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  width: 100% !important;
}

.comedy-filter-btn {
  padding: 12px 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedy-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedy-text-light) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
  text-transform: none !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
}

.comedy-filter-btn:hover,
.comedy-filter-btn.active {
  background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  transform: var(--comedy-hover-transform) !important;
  box-shadow: 0 5px 15px var(--comedy-accent-glow) !important;
}

.comedy-filter-btn[data-filter="all"] {
  background: linear-gradient(135deg, var(--comedy-primary-dark) 0%, var(--comedy-primary) 100%) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  font-weight: 700 !important;
}

/* DESKTOP: HORIZONTAL LIST LAYOUT */
.comedy-shows-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  margin: 20px 0 !important;
}

.comedy-show-card {
  display: flex !important;
  position: relative !important;
  min-height: 110px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
  border: 2px solid transparent !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
}

.comedy-show-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
  border-color: var(--comedy-primary) !important;
}

.comedy-show-card:hover .comedy-show-image {
  box-shadow: 0 0 20px var(--comedy-accent-glow-intense) !important;
}

/* Left: Card Background Image - 16:9 ratio */
.comedy-show-image {
  width: 160px !important;
  height: 90px !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-color: var(--comedy-secondary-light) !important;
  position: relative !important;
  flex-shrink: 0 !important;
  border: 2px solid var(--comedy-primary) !important;
  box-shadow: 0 0 8px rgba(245, 166, 35, 0.2) !important;
  border-radius: 8px !important;
  margin: 10px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  align-self: center !important;
}

.comedy-image-placeholder {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #666 !important;
  font-size: 36px !important;
  font-weight: 600 !important;
}

/* Price Tag */
.comedy-price-tag {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  background: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  padding: 4px 8px !important;
  border-radius: 4px !important;
  font-weight: bold !important;
  font-size: 11px !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3) !important;
  z-index: 10 !important;
}

/* Supply Limited Badge - Desktop */
.comedy-supply-limited-badge {
  background: linear-gradient(135deg, var(--comedy-warning-red) 0%, #ff6666 100%) !important;
  color: var(--comedy-text-white) !important;
  padding: 8px 16px !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  text-align: center !important;
  box-shadow: 0 4px 12px var(--comedy-warning-red-glow) !important;
  border: 2px solid var(--comedy-warning-red) !important;
  margin-bottom: 12px !important;
  animation: pulse-warning 2s ease-in-out infinite !important;
  white-space: nowrap !important;
}

@keyframes pulse-warning {
  0%, 100% {
    box-shadow: 0 4px 12px var(--comedy-warning-red-glow) !important;
  }
  50% {
    box-shadow: 0 4px 20px rgba(255, 68, 68, 0.6) !important;
  }
}

/* DESKTOP ONLY: Improved layout with CSS repositioning */
@media (min-width: 769px) {
  
  .comedy-show-card {
    display: grid !important;
    grid-template-columns: 180px 1fr 160px 180px !important;
    grid-template-areas: "image content datetime ticket" !important;
    align-items: center !important;
    gap: 0 !important;
    position: relative !important;
  }
  
  .comedy-show-image {
    grid-area: image !important;
    margin: 10px !important;
  }
  
  .comedy-show-content {
    grid-area: content !important;
    padding: 15px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }
  
  /* Move datetime to its own visual section */
  .comedy-show-content .comedy-datetime {
    position: absolute !important;
    right: 200px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: linear-gradient(135deg, rgba(245, 166, 35, 0.1) 0%, rgba(245, 166, 35, 0.05) 100%) !important;
    border-left: 1px solid rgba(245, 166, 35, 0.2) !important;
    border-right: 1px solid rgba(245, 166, 35, 0.2) !important;
    padding: 15px 20px !important;
    text-align: center !important;
    min-width: 120px !important;
    margin: 0 !important;
  }
  
  .comedy-show-content .comedy-date {
    font-weight: 700 !important;
    color: var(--comedy-primary) !important;
    font-size: 16px !important;
    margin: 0 0 4px 0 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
  }
  
  .comedy-show-content .comedy-time {
    color: var(--comedy-text-white) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    margin: 0 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
  }
  
  /* Horizontal utility buttons between content and datetime */
  .comedy-show-content .comedy-utility-buttons {
    position: absolute !important;
    right: 360px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 0 !important;
    align-items: flex-start !important;
  }
  
  .comedy-utility-btn {
  padding: 4px 8px !important;
  border-radius: 8px !important;
  font-size: 8px !important;
  min-height: 20px !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Make parking button match the natural width of the text buttons */
.comedy-parking-btn {
  min-width: 97px !important;
}
  
  .comedy-restaurant-btn .comedy-utility-label {
    font-size: 7px !important;
  }
  
  .comedy-directions-text {
    font-size: 7px !important;
  }
  
  .comedy-location-marker {
    width: 8px !important;
    height: 10px !important;
  }
  
  .comedy-ticket-section {
    grid-area: ticket !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 15px 20px !important;
    position: relative !important;
  }
}

/* Center: Show Content - streamlined info only */
.comedy-show-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.comedy-show-title {
  color: var(--comedy-text-white) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}

.comedy-venue-info {
  margin: 0 !important;
}

.comedy-venue-name {
  color: var(--comedy-primary) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  margin: 0 0 2px 0 !important;
}

.comedy-city-text {
  color: var(--comedy-text-light) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* Right: Ticket Section */
.comedy-ticket-section {
  display: flex !important;
  align-items: center !important;
  padding: 15px 20px !important;
  flex-shrink: 0 !important;
}

.comedy-ticket-btn {
  background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
  color: var(--comedy-secondary) !important;
  text-decoration: none !important;
  padding: 12px 20px !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  border: 2px solid var(--comedy-primary) !important;
}

.comedy-ticket-btn:hover {
  background: linear-gradient(135deg, var(--comedy-primary-dark) 0%, var(--comedy-primary) 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px var(--comedy-accent-glow) !important;
  color: var(--comedy-secondary) !important;
  text-decoration: none !important;
}

/* Utility Buttons */
.comedy-utility-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: 8px !important;
}

.comedy-utility-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 10px !important;
  background: rgba(42, 42, 42, 0.9) !important;
  border: 1px solid rgba(245, 166, 35, 0.5) !important;
  border-radius: 15px !important;
  text-decoration: none !important;
  color: var(--comedy-primary) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  backdrop-filter: blur(5px) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8) !important;
  min-height: 28px !important;
  box-sizing: border-box !important;
}

.comedy-utility-btn:hover {
  background: var(--comedy-primary) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px var(--comedy-accent-glow) !important;
  text-shadow: none !important;
  text-decoration: none !important;
}

/* Parking Button */
.comedy-parking-btn .comedy-utility-icon {
  background: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 3px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 800 !important;
  font-size: 10px !important;
}

.comedy-parking-btn:hover .comedy-utility-icon {
  background: var(--comedy-secondary) !important;
  color: var(--comedy-primary) !important;
}

/* Restaurant Button */
.comedy-restaurant-btn .comedy-utility-label {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* Directions Button with Location Marker Icon */
.comedy-directions-btn {
  gap: 4px !important;
}

.comedy-location-marker {
  display: inline-block !important;
  width: 12px !important;
  height: 16px !important;
  position: relative !important;
}

.comedy-location-marker::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 12px !important;
  height: 12px !important;
  background: currentColor !important;
  border-radius: 50% 50% 50% 0 !important;
  transform: rotate(-45deg) !important;
}

.comedy-location-marker::after {
  content: '' !important;
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 6px !important;
  height: 6px !important;
  background: var(--comedy-secondary) !important;
  border-radius: 50% !important;
  transform: rotate(45deg) !important;
}

.comedy-directions-btn:hover .comedy-location-marker::after {
  background: var(--comedy-primary) !important;
}

.comedy-directions-text {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* PAGINATION STYLING - Enhanced for Desktop */
.comedy-pagination-container {
  margin-top: 50px !important;
  margin-bottom: 30px !important;
}

.comedy-pagination {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 30px 40px !important;
  border: 2px solid var(--comedy-border-color) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.comedy-pagination-info {
  color: var(--comedy-text-light) !important;
  font-size: 16px !important;
  margin-bottom: 25px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
}

.comedy-pagination-buttons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.comedy-page-btn {
  min-width: 50px !important;
  height: 50px !important;
  padding: 0 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedy-border-color) !important;
  border-radius: 12px !important;
  color: var(--comedy-text-light) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.comedy-page-btn:hover,
.comedy-page-btn.active {
  background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  transform: var(--comedy-hover-transform) !important;
  box-shadow: 0 6px 18px var(--comedy-accent-glow) !important;
}

.comedy-pagination-ellipsis {
  color: #666 !important;
  font-size: 20px !important;
  font-weight: bold !important;
  padding: 0 12px !important;
  user-select: none !important;
  line-height: 1 !important;
}

/* REMOVE LOADING SPINNER */
#show-loading {
  display: none !important;
}

.comedy-loading {
  display: none !important;
}

/* NO RESULTS STYLING */
.comedy-no-results {
  text-align: center !important;
  padding: 60px 20px !important;
  color: #888 !important;
  font-size: 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  border-radius: 12px !important;
  border: 2px dashed var(--comedy-border-color) !important;
  margin: 20px 0 !important;
  font-weight: 500 !important;
}

/* MOBILE RESPONSIVENESS - CLEAN HORIZONTAL LAYOUT */
@media (max-width: 768px) {
  /* Mobile: Clean Horizontal Card Layout */
  .comedy-shows-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  
  .comedy-show-card {
    display: flex !important;
    flex-direction: row !important;
    height: auto !important;
    min-height: 120px !important;
    position: relative !important;
    background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
    padding: 10px !important;
    gap: 12px !important;
  }
  
  /* Remove gradient overlay */
  .comedy-show-card::before {
    display: none !important;
  }
  
  /* LEFT: Image (35%) */
  .comedy-show-image {
    width: 35% !important;
    height: auto !important;
    min-height: 100px !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    z-index: 1 !important;
    border: 2px solid var(--comedy-primary) !important;
    margin: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 0 8px rgba(245, 166, 35, 0.2) !important;
    flex-shrink: 0 !important;
  }
  
  /* Price tag on image */
  .comedy-price-tag {
    position: absolute !important;
    top: 6px !important;
    right: 6px !important;
    z-index: 5 !important;
    background: var(--comedy-primary) !important;
    color: var(--comedy-secondary) !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
    font-weight: bold !important;
    font-size: 10px !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3) !important;
  }
  
  /* RIGHT: Content area (65%) */
  .comedy-show-content {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    width: 65% !important;
    padding: 0 !important;
    z-index: 1 !important;
    background: none !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    gap: 6px !important;
  }
  
  /* Row 1: Show Title */
  .comedy-show-info {
    gap: 3px !important;
    margin-bottom: 0 !important;
  }
  
  .comedy-show-title {
    color: var(--comedy-text-white) !important;
    text-shadow: none !important;
    font-size: 14px !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  
  /* Row 2: Venue Name */
  .comedy-venue-name {
    color: var(--comedy-primary) !important;
    text-shadow: none !important;
    font-size: 12px !important;
    margin: 0 !important;
    font-weight: 600 !important;
  }
  
  /* Row 3: City */
  .comedy-city-text {
    color: var(--comedy-text-light) !important;
    text-shadow: none !important;
    font-size: 11px !important;
    font-weight: 500 !important;
  }
  
  /* Row 4: Date/Time + Buy Tickets Button (same row) */
  .comedy-datetime {
    margin: 0 !important;
    position: relative !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    text-align: left !important;
    min-width: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
  }
  
  .comedy-date {
    font-size: 11px !important;
    text-shadow: none !important;
    color: var(--comedy-primary) !important;
    font-weight: 600 !important;
    margin: 0 !important;
  }
  
  .comedy-time {
    font-size: 11px !important;
    text-shadow: none !important;
    color: var(--comedy-text-white) !important;
    font-weight: 500 !important;
    margin: 0 !important;
  }
  
  .comedy-time::before {
    content: '•' !important;
    margin: 0 4px !important;
    color: var(--comedy-text-light) !important;
  }
  
  /* Ticket Section on same row as date/time */
  .comedy-ticket-section {
    position: absolute !important;
    bottom: 10px !important;
    right: 10px !important;
    top: auto !important;
    left: auto !important;
    z-index: 2 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 4px !important;
  }
  
  /* Supply Limited Badge */
  .comedy-supply-limited-badge {
    padding: 3px 8px !important;
    font-size: 8px !important;
    margin-bottom: 0 !important;
    animation: pulse-warning 2s ease-in-out infinite !important;
  }
  
  .comedy-ticket-btn {
    padding: 7px 12px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    min-width: auto !important;
    white-space: nowrap !important;
  }
  
  /* Row 5: Utility buttons at bottom */
  .comedy-utility-buttons {
    margin-top: auto !important;
    margin-bottom: 0 !important;
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    display: flex !important;
    gap: 5px !important;
    flex-wrap: wrap !important;
    max-width: calc(100% - 100px) !important;
    justify-content: flex-start !important;
  }
  
  .comedy-utility-btn {
    padding: 4px 7px !important;
    font-size: 8px !important;
    min-height: 22px !important;
    border-radius: 12px !important;
  }
  
  .comedy-parking-btn .comedy-utility-icon {
    width: 14px !important;
    height: 14px !important;
    font-size: 9px !important;
  }
  
  .comedy-restaurant-btn .comedy-utility-label {
    font-size: 8px !important;
  }
  
  .comedy-directions-text {
    display: inline !important;
    margin-left: 2px !important;
    font-size: 8px !important;
  }
  
  .comedy-location-marker {
    width: 10px !important;
    height: 12px !important;
  }
  
  /* MOBILE SEARCH FORM LAYOUT */
  .comedy-search-form {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 15px !important;
  }
  
  .comedy-search-wrapper {
    flex-basis: 100% !important;
    order: 1 !important;
  }
  
  .comedy-search-input {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  
  .comedy-search-button:not(.comedy-clear-btn) {
    order: 2 !important;
    flex-shrink: 0 !important;
    min-width: 70px !important;
    padding: 12px 16px !important;
    font-size: 12px !important;
  }
  
  .comedy-search-button.comedy-clear-btn {
    order: 3 !important;
    flex-shrink: 0 !important;
    min-width: 60px !important;
    padding: 12px 14px !important;
    font-size: 12px !important;
  }
  
  .comedy-date-wrapper {
    order: 4 !important;
    flex-shrink: 0 !important;
    min-width: 50px !important;
    max-width: 50px !important;
    margin-left: auto !important;
    position: relative !important;
  }
  
  .comedy-date-input {
    position: absolute !important;
    opacity: 0 !important;
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    cursor: pointer !important;
  }
  
  .comedy-date-wrapper::before {
    content: '📅' !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 50px !important;
    height: 48px !important;
    background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
    border: 2px solid var(--comedy-border-color) !important;
    border-radius: 8px !important;
    font-size: 20px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
    pointer-events: none !important;
  }
  
  .comedy-date-wrapper:hover::before {
    background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
    border-color: var(--comedy-primary) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 5px 15px var(--comedy-accent-glow) !important;
  }
  
  .comedy-search-button {
    height: 48px !important;
  }
  
  /* Popular Cities */
  .comedy-filter-buttons {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    margin-bottom: 20px !important;
  }
  
  .comedy-filter-buttons::before {
    grid-column: 1 / -1 !important;
    margin-bottom: 12px !important;
  }
  
  .comedy-filter-btn {
    padding: 12px 8px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-align: center !important;
    border-radius: 6px !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    box-sizing: border-box !important;
    flex: 1 !important;
  }
  
  .comedy-filter-btn[data-filter="all"] {
    font-size: 10px !important;
    padding: 10px 6px !important;
  }
  
  /* Pagination */
  .comedy-pagination {
    padding: 20px 15px !important;
    margin-top: 30px !important;
  }
  
  .comedy-pagination-buttons {
    gap: 8px !important;
  }
  
  .comedy-page-btn {
    min-width: 42px !important;
    height: 42px !important;
    font-size: 13px !important;
  }
  
  .comedy-pagination-info {
    font-size: 14px !important;
    margin-bottom: 20px !important;
  }
  
  .comedy-pagination-ellipsis {
    font-size: 18px !important;
    padding: 0 8px !important;
  }
}

@media (max-width: 480px) {
  /* Very small screens */
  .comedy-show-card {
    min-height: 110px !important;
    padding: 8px !important;
  }
  
  .comedy-show-image {
    width: 32% !important;
    min-height: 94px !important;
  }
  
  .comedy-show-content {
    width: 68% !important;
  }
  
  .comedy-show-title {
    font-size: 13px !important;
  }
  
  .comedy-venue-name {
    font-size: 11px !important;
  }
  
  .comedy-city-text {
    font-size: 10px !important;
  }
  
  .comedy-date,
  .comedy-time {
    font-size: 10px !important;
  }
  
  .comedy-ticket-btn {
    padding: 6px 10px !important;
    font-size: 9px !important;
  }
  
  .comedy-supply-limited-badge {
    padding: 2px 6px !important;
    font-size: 7px !important;
  }
  
  .comedy-utility-btn {
    padding: 3px 6px !important;
    font-size: 7px !important;
    min-height: 20px !important;
  }
  
  .comedy-utility-buttons {
    max-width: calc(100% - 90px) !important;
  }
  
  /* Popular Cities */
  .comedy-filter-buttons {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 6px !important;
  }
  
  .comedy-filter-btn {
    padding: 10px 4px !important;
    font-size: 10px !important;
    min-height: 42px !important;
  }
  
  .comedy-filter-btn[data-filter="all"] {
    font-size: 9px !important;
    padding: 8px 3px !important;
  }
  
  .comedy-pagination {
    padding: 15px 10px !important;
  }
  
  .comedy-page-btn {
    min-width: 38px !important;
    height: 38px !important;
    font-size: 12px !important;
  }
  
  .comedy-pagination-ellipsis {
    font-size: 16px !important;
    padding: 0 6px !important;
  }
}

/* HIGH DPI / RETINA DISPLAY OPTIMIZATIONS */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .comedy-show-image {
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-607b172 *//* ======================================
   COMEDIAN DIRECTORY - FINAL OPTIMIZED CSS
   Add this to Elementor Advanced Settings > Custom CSS
   ====================================== */

/* IMPORT BEBAS NEUE FONT */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

/* CSS VARIABLES FOR CONSISTENT THEMING */
:root {
  --comedian-primary: #f5a623;
  --comedian-primary-light: #ffb84d;
  --comedian-primary-dark: #d4941f;
  --comedian-secondary: #1a1a1a;
  --comedian-secondary-light: #2a2a2a;
  --comedian-accent-glow: rgba(245, 166, 35, 0.3);
  --comedian-accent-glow-intense: rgba(245, 166, 35, 0.5);
  --comedian-text-light: #ccc;
  --comedian-text-white: #fff;
  --comedian-border-color: #444;
  --comedian-hover-transform: translateY(-2px);
}

/* SEARCH SECTION - Gaming Style */
.comedian-directory-section .comedian-search-container {
  border-left: none !important;
  margin-bottom: 25px !important;
  padding: 0 !important;
}

.comedian-search-form {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  padding: 15px 20px !important;
  border-radius: 12px !important;
  border: 2px solid var(--comedian-border-color) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

.comedian-search-wrapper {
  flex: 1 !important;
  position: relative !important;
}

.comedian-search-input {
  width: 100% !important;
  padding: 12px 16px !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border: 2px solid var(--comedian-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedian-text-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

.comedian-search-input:focus {
  outline: none !important;
  border-color: var(--comedian-primary) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--comedian-accent-glow) !important;
  background: linear-gradient(135deg, #222 0%, #333 100%) !important;
}

.comedian-search-input::placeholder {
  color: #888 !important;
  font-style: italic !important;
}

/* Search Buttons */
.comedian-search-button {
  padding: 12px 20px !important;
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  border: 2px solid var(--comedian-primary) !important;
  border-radius: 8px !important;
  color: var(--comedian-secondary) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
  min-width: 80px !important;
}

.comedian-search-button:hover {
  background: linear-gradient(135deg, var(--comedian-primary-dark) 0%, var(--comedian-primary) 100%) !important;
  transform: var(--comedian-hover-transform) !important;
  box-shadow: 0 5px 15px var(--comedian-accent-glow) !important;
}

.comedian-search-button.comedian-clear-btn {
  background: linear-gradient(135deg, #444 0%, #555 100%) !important;
  border-color: #666 !important;
  color: var(--comedian-text-light) !important;
}

.comedian-search-button.comedian-clear-btn:hover {
  background: linear-gradient(135deg, #555 0%, #666 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-text-white) !important;
  box-shadow: 0 5px 15px rgba(245, 166, 35, 0.2) !important;
}

/* DESKTOP ALPHABETICAL FILTER SYSTEM */
.comedian-filter-buttons {
  margin-bottom: 20px !important;
  padding: 0 !important;
}

.comedian-alpha-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: flex-start !important;
  margin-bottom: 10px !important;
}

.comedian-alpha-row:last-child {
  margin-bottom: 20px !important;
}

.comedian-filter-btn {
  padding: 10px 16px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedian-border-color) !important;
  border-radius: 6px !important;
  color: var(--comedian-text-light) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
  text-transform: none !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
  min-width: 40px !important;
  text-align: center !important;
}

.comedian-filter-btn:hover,
.comedian-filter-btn.active {
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  transform: var(--comedian-hover-transform) !important;
  box-shadow: 0 4px 12px var(--comedian-accent-glow) !important;
}

.comedian-filter-btn[data-filter="all"] {
  background: linear-gradient(135deg, var(--comedian-primary-dark) 0%, var(--comedian-primary) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  font-weight: 700 !important;
  padding: 10px 14px !important;
}

/* Hide the # button - no comedians have numbers in names */
.comedian-filter-btn[data-letter="#"] {
  display: none !important;
}

/* MOBILE ALPHABET DROPDOWN */
.comedian-mobile-filter-dropdown {
  display: none !important;
  position: relative !important;
}

.comedian-mobile-filter-trigger {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 50px !important;
  height: 42px !important;
  background: linear-gradient(135deg, var(--comedian-primary-dark) 0%, var(--comedian-primary) 100%) !important;
  border: 2px solid var(--comedian-primary) !important;
  border-radius: 8px !important;
  color: var(--comedian-secondary) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
}

.comedian-mobile-filter-trigger:hover {
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 5px 15px var(--comedian-accent-glow) !important;
}

/* Mobile Dropdown Popup Overlay */
.comedian-filter-popup-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(0, 0, 0, 0.8) !important;
  z-index: 9999 !important;
  display: none;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  backdrop-filter: blur(5px) !important;
}

.comedian-filter-popup {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 25px !important;
  border: 2px solid var(--comedian-border-color) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
  max-width: 320px !important;
  width: 100% !important;
  max-height: 50vh !important;
  overflow-y: auto !important;
}

.comedian-filter-popup-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 20px !important;
}

.comedian-filter-popup-title {
  color: var(--comedian-primary) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 !important;
}

.comedian-filter-popup-close {
  background: none !important;
  border: none !important;
  color: #888 !important;
  font-size: 24px !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: color 0.3s ease !important;
}

.comedian-filter-popup-close:hover {
  color: var(--comedian-primary) !important;
}

.comedian-filter-popup-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
}

.comedian-filter-popup-btn {
  padding: 12px 8px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedian-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedian-text-light) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  text-align: center !important;
  min-height: 45px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.comedian-filter-popup-btn:hover,
.comedian-filter-popup-btn.active {
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  transform: scale(1.05) !important;
}

.comedian-filter-popup-btn[data-filter="all"] {
  grid-column: 1 / -1 !important;
  background: linear-gradient(135deg, var(--comedian-primary-dark) 0%, var(--comedian-primary) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  font-weight: 700 !important;
}

/* COMEDIAN GRID LAYOUT - 2 Column Horizontal Cards */
.comedian-roster-container {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px !important;
  margin: 20px 0 !important;
}

.comedian-card {
  position: relative !important;
  height: 150px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
  border: 2px solid transparent !important;
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  display: flex !important;
  align-items: stretch !important;
}

.comedian-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
  border-color: var(--comedian-primary-light) !important;
}

/* Comedian Image - Left Side (40% width) */
.comedian-image {
  width: 40% !important;
  height: 100% !important;
  flex-shrink: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
}

/* Proper image sizing and centering */
.comedian-photo {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

.comedian-placeholder {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #666 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

/* Card Content - Right Side (60% width) */
.comedian-content {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  padding: 20px 15px 15px 20px !important;
  position: relative !important;
  background: rgba(0, 0, 0, 0.1) !important;
}

.comedian-name {
  color: var(--comedian-secondary) !important;
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  margin: 0 0 12px 0 !important;
  line-height: 0.95 !important;
  text-shadow: none !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
  word-wrap: break-word !important;
  display: block !important;
  max-height: 65px !important;
  overflow: hidden !important;
}

/* Social Media Links - Below Name */
.comedian-links {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: auto !important;
}

.comedian-link-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  background: rgba(26, 26, 26, 0.95) !important;
  border: 2px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 50% !important;
  text-decoration: none !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  backdrop-filter: blur(3px) !important;
  text-shadow: none !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
}

.comedian-link-btn:hover {
  transform: scale(1.15) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5) !important;
}

/* Specific Social Media Button Colors - Vibrant Scheme */
.comedian-website-btn {
  background: linear-gradient(135deg, #4a90e2 0%, #357abd 100%) !important;
  border-color: #4a90e2 !important;
  color: #fff !important;
}

.comedian-website-btn:hover {
  background: linear-gradient(135deg, #357abd 0%, #2968a3 100%) !important;
  border-color: #357abd !important;
  color: #fff !important;
}

.comedian-facebook-btn {
  background: linear-gradient(135deg, #1877f2 0%, #166fe5 100%) !important;
  border-color: #1877f2 !important;
  color: #fff !important;
}

.comedian-facebook-btn:hover {
  background: linear-gradient(135deg, #166fe5 0%, #1464cc 100%) !important;
  border-color: #166fe5 !important;
  color: #fff !important;
}

.comedian-x-btn {
  background: linear-gradient(135deg, #000 0%, #1a1a1a 100%) !important;
  border-color: #333 !important;
  color: #fff !important;
}

.comedian-x-btn:hover {
  background: linear-gradient(135deg, #1a1a1a 0%, #333 100%) !important;
  border-color: #666 !important;
  color: #fff !important;
}

.comedian-instagram-btn {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
  border-color: #f09433 !important;
  color: #fff !important;
}

.comedian-instagram-btn:hover {
  background: linear-gradient(45deg, #e6683c 0%, #dc2743 25%, #cc2366 50%, #bc1888 75%, #a91b72 100%) !important;
  border-color: #e6683c !important;
  color: #fff !important;
}

.comedian-tiktok-btn {
  background: linear-gradient(135deg, #ff0050 0%, #e6004a 100%) !important;
  border-color: #ff0050 !important;
  color: #fff !important;
}

.comedian-tiktok-btn:hover {
  background: linear-gradient(135deg, #e6004a 0%, #cc0041 100%) !important;
  border-color: #e6004a !important;
  color: #fff !important;
}

.comedian-youtube-btn {
  background: linear-gradient(135deg, #ff0000 0%, #e60000 100%) !important;
  border-color: #ff0000 !important;
  color: #fff !important;
}

.comedian-youtube-btn:hover {
  background: linear-gradient(135deg, #e60000 0%, #cc0000 100%) !important;
  border-color: #e60000 !important;
  color: #fff !important;
}

.comedian-imdb-btn {
  background: linear-gradient(135deg, #f5c518 0%, #ddb216 100%) !important;
  border-color: #f5c518 !important;
  color: #000 !important;
}

.comedian-imdb-btn:hover {
  background: linear-gradient(135deg, #ddb216 0%, #c49f14 100%) !important;
  border-color: #ddb216 !important;
  color: #000 !important;
}

/* Icon and Label Styles */
.comedian-link-icon {
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.comedian-link-label {
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2px !important;
  line-height: 1 !important;
}

/* COMPREHENSIVE BIO TEXT ELIMINATION */
.comedian-bio,
.comedian-content p,
.comedian-content .bio,
.comedian-content .bio-text,
.comedian-content > div:not(.comedian-links),
.comedian-content > span:not(.comedian-name),
.comedian-card .description,
.comedian-card [class*="bio"],
.comedian-card [class*="desc"] {
  display: none !important;
}

/* Force hide any text content that's not the name or in links */
.comedian-content > *:not(.comedian-name):not(.comedian-links) {
  display: none !important;
}

/* PAGINATION STYLING */
.comedian-pagination-container {
  margin-top: 40px !important;
  margin-bottom: 30px !important;
}

.comedian-pagination {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 25px 35px !important;
  border: 2px solid var(--comedian-border-color) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.comedian-pagination-info {
  color: var(--comedian-text-light) !important;
  font-size: 15px !important;
  margin-bottom: 20px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
}

.comedian-pagination-buttons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.comedian-page-btn {
  min-width: 45px !important;
  height: 45px !important;
  padding: 0 15px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedian-border-color) !important;
  border-radius: 10px !important;
  color: var(--comedian-text-light) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.comedian-page-btn:hover,
.comedian-page-btn.active {
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  transform: var(--comedian-hover-transform) !important;
  box-shadow: 0 5px 15px var(--comedian-accent-glow) !important;
}

.comedian-pagination-ellipsis {
  color: #666 !important;
  font-size: 18px !important;
  font-weight: bold !important;
  padding: 0 10px !important;
  user-select: none !important;
  line-height: 1 !important;
}

/* LOADING AND NO RESULTS */
#comedian-loading {
  display: none !important;
}

.comedian-loading {
  display: none !important;
}

.comedian-no-results {
  text-align: center !important;
  padding: 50px 20px !important;
  color: #888 !important;
  font-size: 17px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  border-radius: 12px !important;
  border: 2px dashed var(--comedian-border-color) !important;
  margin: 20px 0 !important;
  font-weight: 500 !important;
}

/* MOBILE RESPONSIVENESS */
@media (max-width: 1200px) {
  .comedian-name {
    font-size: 28px !important;
  }
  
  .comedian-links {
    gap: 6px !important;
  }
  
  .comedian-link-btn {
    width: 32px !important;
    height: 32px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 768px) {
  /* MOBILE SEARCH FORM WITH DROPDOWN */
  .comedian-search-form {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 15px !important;
    align-items: flex-end !important;
  }
  
  /* Row 1: Search input - full width */
  .comedian-search-wrapper {
    flex-basis: 100% !important;
    order: 1 !important;
    margin-bottom: 8px !important;
  }
  
  .comedian-search-input {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Row 2: Three buttons in same row */
  .comedian-search-button:not(.comedian-clear-btn) {
    order: 2 !important;
    flex: 0 0 70px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    height: 42px !important;
  }
  
  .comedian-search-button.comedian-clear-btn {
    order: 3 !important;
    flex: 0 0 60px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    height: 42px !important;
  }
  
  .comedian-mobile-filter-dropdown {
    order: 4 !important;
    display: block !important;
    margin-left: auto !important;
  }
  
  /* HIDE DESKTOP FILTERS ON MOBILE */
  .comedian-filter-buttons {
    display: none !important;
  }
  
  /* MOBILE CARD ADJUSTMENTS */
  .comedian-roster-container {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }
  
  .comedian-card {
    height: 150px !important;
  }
  
  .comedian-content {
    padding: 18px 15px 15px 18px !important;
  }
  
  .comedian-name {
    font-size: 28px !important;
    margin-bottom: 15px !important;
  }
  
  .comedian-links {
    gap: 10px !important;
  }
  
  .comedian-link-btn {
    width: 40px !important;
    height: 40px !important;
    font-size: 16px !important;
  }
  
  .comedian-link-label {
    font-size: 9px !important;
  }
  
  /* Pagination mobile */
  .comedian-pagination {
    padding: 15px 10px !important;
    margin-top: 25px !important;
  }
  
  .comedian-pagination-buttons {
    gap: 6px !important;
  }
  
  .comedian-page-btn {
    min-width: 35px !important;
    height: 35px !important;
    font-size: 12px !important;
  }
  
  .comedian-pagination-info {
    font-size: 13px !important;
    margin-bottom: 15px !important;
  }
  
  .comedian-pagination-ellipsis {
    font-size: 16px !important;
    padding: 0 6px !important;
  }
}

@media (max-width: 480px) {
  .comedian-card {
    height: 140px !important;
  }
  
  .comedian-content {
    padding: 15px 12px 12px 15px !important;
  }
  
  .comedian-name {
    font-size: 24px !important;
    margin-bottom: 12px !important;
  }
  
  .comedian-links {
    gap: 8px !important;
  }
  
  .comedian-link-btn {
    width: 36px !important;
    height: 36px !important;
    font-size: 14px !important;
  }
  
  .comedian-link-label {
    font-size: 8px !important;
  }
  
  .comedian-mobile-filter-trigger {
    width: 45px !important;
    height: 42px !important;
    font-size: 16px !important;
  }
  
  .comedian-filter-popup {
    padding: 20px !important;
    max-width: 280px !important;
  }
  
  .comedian-filter-popup-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
  }
  
  .comedian-filter-popup-btn {
    padding: 12px 8px !important;
    font-size: 14px !important;
    min-height: 45px !important;
  }
  
  .comedian-pagination {
    padding: 12px 8px !important;
  }
  
  .comedian-page-btn {
    min-width: 30px !important;
    height: 30px !important;
    font-size: 11px !important;
  }
}

/* HIGH DPI / RETINA DISPLAY OPTIMIZATIONS */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .comedian-image[style*="background-image"] {
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-b1e7878 *//* ======================================
   VENUE DIRECTORY - COMPLETE GRID GAMING AESTHETIC CSS
   Add this to Elementor Advanced Settings > Custom CSS
   ====================================== */

/* CSS VARIABLES FOR CONSISTENT THEMING */
:root {
  --loc-primary: #f5a623;
  --loc-primary-light: #ffb84d;
  --loc-primary-dark: #d4941f;
  --loc-secondary: #1a1a1a;
  --loc-secondary-light: #2a2a2a;
  --loc-accent-glow: rgba(245, 166, 35, 0.3);
  --loc-accent-glow-intense: rgba(245, 166, 35, 0.5);
  --loc-text-light: #ccc;
  --loc-text-white: #fff;
  --loc-border-color: #444;
  --loc-hover-transform: translateY(-2px);
}

/* SEARCH SECTION - Gaming Style */
.loc-shows-section .loc-search-container {
  border-left: none !important;
  margin-bottom: 25px !important;
  padding: 0 !important;
}

.loc-search-form {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  padding: 15px 20px !important;
  border-radius: 12px !important;
  border: 2px solid var(--loc-border-color) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

.loc-search-wrapper {
  flex: 1 !important;
  position: relative !important;
}

.loc-search-input {
  width: 100% !important;
  padding: 12px 16px !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border: 2px solid var(--loc-border-color) !important;
  border-radius: 8px !important;
  color: var(--loc-text-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

.loc-search-input:focus {
  outline: none !important;
  border-color: var(--loc-primary) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--loc-accent-glow) !important;
  background: linear-gradient(135deg, #222 0%, #333 100%) !important;
}

.loc-search-input::placeholder {
  color: #888 !important;
  font-style: italic !important;
}

/* Search Buttons */
.loc-search-button {
  padding: 12px 20px !important;
  background: linear-gradient(135deg, var(--loc-primary) 0%, var(--loc-primary-light) 100%) !important;
  border: 2px solid var(--loc-primary) !important;
  border-radius: 8px !important;
  color: var(--loc-secondary) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
  min-width: 80px !important;
}

.loc-search-button:hover {
  background: linear-gradient(135deg, var(--loc-primary-dark) 0%, var(--loc-primary) 100%) !important;
  transform: var(--loc-hover-transform) !important;
  box-shadow: 0 5px 15px var(--loc-accent-glow) !important;
}

.loc-search-button.loc-clear-btn {
  background: linear-gradient(135deg, #444 0%, #555 100%) !important;
  border-color: #666 !important;
  color: var(--loc-text-light) !important;
}

.loc-search-button.loc-clear-btn:hover {
  background: linear-gradient(135deg, #555 0%, #666 100%) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-text-white) !important;
  box-shadow: 0 5px 15px rgba(245, 166, 35, 0.2) !important;
}

/* POPULAR CITIES FILTER */
.loc-filter-buttons {
  margin-bottom: 20px !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: flex-start !important;
}

.loc-filter-section-title {
  color: var(--loc-primary) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  display: block !important;
  margin-bottom: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.loc-filter-buttons::before {
  content: "Popular Cities" !important;
  display: block !important;
  color: var(--loc-primary) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  margin-bottom: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  width: 100% !important;
}

.loc-filter-btn {
  padding: 12px 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--loc-border-color) !important;
  border-radius: 8px !important;
  color: var(--loc-text-light) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
  text-transform: none !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
}

.loc-filter-btn:hover,
.loc-filter-btn.active {
  background: linear-gradient(135deg, var(--loc-primary) 0%, var(--loc-primary-light) 100%) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  transform: var(--loc-hover-transform) !important;
  box-shadow: 0 5px 15px var(--loc-accent-glow) !important;
}

.loc-filter-btn[data-filter="all"] {
  background: linear-gradient(135deg, var(--loc-primary-dark) 0%, var(--loc-primary) 100%) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  font-weight: 700 !important;
}

/* REMOVE ALPHABETICAL FILTERS AND DUPLICATE SECTIONS */
.loc-alpha-filters,
.loc-alphabetical-filters,
[class*="alpha"],
[class*="alphabet"] {
  display: none !important;
}

/* Hide the duplicate section that contains alphabet letters - KEEP THE CITIES SECTION */
#primary > div > div > div > div > div > div > div > div > div:nth-child(3) {
  display: none !important;
}

/* VENUE GRID LAYOUT - 3 Column Grid System */
.loc-shows-container {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  margin: 20px 0 !important;
}

.loc-show-card {
  position: relative !important;
  height: 280px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
  border: 2px solid transparent !important;
}

.loc-show-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
  border-color: var(--loc-primary) !important;
}

/* Card Background Image */
.loc-show-image {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  z-index: 1 !important;
}

.loc-show-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.venue-placeholder {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #666 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

/* Card Overlay Gradient */
.loc-show-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.7) 100%) !important;
  z-index: 2 !important;
}

/* Card Content Overlay */
.loc-show-content {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 20px !important;
  z-index: 3 !important;
  background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.6) 70%, transparent 100%) !important;
}

.loc-show-title {
  color: var(--loc-text-white) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.3 !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8) !important;
}

.loc-city-text {
  color: var(--loc-text-light) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  margin: 0 0 15px 0 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8) !important;
}

/* Footer Utilities - All Four Buttons Consistently Sized */
.loc-venue-utilities {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

.loc-utility-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 10px !important;
  background: rgba(42, 42, 42, 0.9) !important;
  border: 1px solid rgba(245, 166, 35, 0.5) !important;
  border-radius: 15px !important;
  text-decoration: none !important;
  color: var(--loc-primary) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  backdrop-filter: blur(5px) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8) !important;
  min-height: 28px !important;
  box-sizing: border-box !important;
}

.loc-utility-btn:hover {
  background: var(--loc-primary) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px var(--loc-accent-glow) !important;
  text-shadow: none !important;
}

/* Parking Button */
.loc-parking-btn .loc-utility-icon {
  background: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 3px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 800 !important;
  font-size: 10px !important;
}

.loc-parking-btn:hover .loc-utility-icon {
  background: var(--loc-secondary) !important;
  color: var(--loc-primary) !important;
}

/* Restaurant Button */
.loc-restaurant-btn .loc-utility-label {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* Directions Button with Location Marker Icon */
.loc-directions-btn {
  gap: 4px !important;
}

.loc-location-marker {
  display: inline-block !important;
  width: 12px !important;
  height: 16px !important;
  position: relative !important;
}

.loc-location-marker::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 12px !important;
  height: 12px !important;
  background: currentColor !important;
  border-radius: 50% 50% 50% 0 !important;
  transform: rotate(-45deg) !important;
}

.loc-location-marker::after {
  content: '' !important;
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 6px !important;
  height: 6px !important;
  background: var(--loc-secondary) !important;
  border-radius: 50% !important;
  transform: rotate(45deg) !important;
}

.loc-directions-btn:hover .loc-location-marker::after {
  background: var(--loc-primary) !important;
}

.loc-directions-btn .loc-directions-text {
  display: none !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* Venue Info Button */
.loc-venue-info-btn {
  opacity: 0.8 !important;
}

.loc-venue-info-btn:hover {
  opacity: 1 !important;
}

.loc-venue-info-btn .loc-utility-label {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* PAGINATION STYLING - Enhanced for Desktop */
.loc-pagination-container {
  margin-top: 50px !important;
  margin-bottom: 30px !important;
}

.loc-pagination {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 30px 40px !important;
  border: 2px solid var(--loc-border-color) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.loc-pagination-info {
  color: var(--loc-text-light) !important;
  font-size: 16px !important;
  margin-bottom: 25px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
}

.loc-pagination-buttons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.loc-page-btn {
  min-width: 50px !important;
  height: 50px !important;
  padding: 0 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--loc-border-color) !important;
  border-radius: 12px !important;
  color: var(--loc-text-light) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.loc-page-btn:hover,
.loc-page-btn.active {
  background: linear-gradient(135deg, var(--loc-primary) 0%, var(--loc-primary-light) 100%) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  transform: var(--loc-hover-transform) !important;
  box-shadow: 0 6px 18px var(--loc-accent-glow) !important;
}

.loc-pagination-ellipsis {
  color: #666 !important;
  font-size: 20px !important;
  font-weight: bold !important;
  padding: 0 12px !important;
  user-select: none !important;
  line-height: 1 !important;
}

/* REMOVE LOADING SPINNER */
#venue-loading {
  display: none !important;
}

.loc-loading {
  display: none !important;
}

/* NO RESULTS STYLING */
.shows-no-results {
  text-align: center !important;
  padding: 60px 20px !important;
  color: #888 !important;
  font-size: 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  border-radius: 12px !important;
  border: 2px dashed var(--loc-border-color) !important;
  margin: 20px 0 !important;
  font-weight: 500 !important;
}

/* MOBILE RESPONSIVENESS */
@media (max-width: 1200px) {
  .loc-shows-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  
  /* Adjust pagination for tablet */
  .loc-pagination {
    padding: 25px 30px !important;
  }
  
  .loc-page-btn {
    min-width: 45px !important;
    height: 45px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 768px) {
  /* Search form mobile */
  .loc-search-form {
    flex-direction: column !important;
    gap: 12px !important;
    padding: 15px !important;
  }
  
  .loc-search-wrapper {
    width: 100% !important;
  }
  
  .loc-search-button {
    width: 100% !important;
    justify-content: center !important;
  }
  
  /* Grid becomes 2 columns on mobile */
  .loc-shows-container {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px !important;
  }
  
  .loc-show-card {
    height: 220px !important;
  }
  
  /* FIXED: Popular Cities Mobile 4-Column Grid Layout */
  .loc-filter-buttons {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    margin-bottom: 20px !important;
  }
  
  .loc-filter-buttons::before {
    grid-column: 1 / -1 !important;
    margin-bottom: 12px !important;
  }
  
  .loc-filter-btn {
    padding: 12px 8px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-align: center !important;
    border-radius: 6px !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    box-sizing: border-box !important;
    flex: 1 !important;
  }
  
  /* Ensure "All Venues" button fits properly */
  .loc-filter-btn[data-filter="all"] {
    font-size: 10px !important;
    padding: 10px 6px !important;
  }
  
  /* Card content mobile adjustments */
  .loc-show-content {
    padding: 15px !important;
  }
  
  .loc-show-title {
    font-size: 16px !important;
  }
  
  .loc-city-text {
    font-size: 13px !important;
    margin-bottom: 12px !important;
  }
  
  .loc-utility-btn {
    padding: 5px 8px !important;
    font-size: 10px !important;
    min-height: 26px !important;
  }
  
  /* Mobile: Show "Get Directions" text */
  .loc-directions-btn .loc-directions-text {
    display: inline !important;
    margin-left: 2px !important;
  }
  
  /* Pagination mobile */
  .loc-pagination {
    padding: 20px 15px !important;
    margin-top: 30px !important;
  }
  
  .loc-pagination-buttons {
    gap: 8px !important;
  }
  
  .loc-page-btn {
    min-width: 42px !important;
    height: 42px !important;
    font-size: 13px !important;
  }
  
  .loc-pagination-info {
    font-size: 14px !important;
    margin-bottom: 20px !important;
  }
  
  .loc-pagination-ellipsis {
    font-size: 18px !important;
    padding: 0 8px !important;
  }
}

@media (max-width: 480px) {
  /* Very small screens - single column */
  .loc-shows-container {
    grid-template-columns: 1fr !important;
  }
  
  .loc-show-card {
    height: 200px !important;
  }
  
  /* FIXED: Popular Cities for Very Small Screens - Keep 4x2 Layout */
  .loc-filter-buttons {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 6px !important;
    width: 100% !important;
  }
  
  .loc-filter-buttons::before {
    grid-column: 1 / -1 !important;
    margin-bottom: 10px !important;
  }
  
  .loc-filter-btn {
    padding: 10px 4px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-align: center !important;
    border-radius: 5px !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.1 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    box-sizing: border-box !important;
    flex: 1 !important;
  }
  
  /* Extra small text for "All Venues" on very small screens */
  .loc-filter-btn[data-filter="all"] {
    font-size: 9px !important;
    padding: 8px 3px !important;
  }
  
  .loc-show-title {
    font-size: 15px !important;
  }
  
  .loc-city-text {
    font-size: 12px !important;
  }
  
  .loc-utility-btn {
    padding: 4px 6px !important;
    font-size: 9px !important;
    min-height: 24px !important;
  }
  
  .loc-pagination {
    padding: 15px 10px !important;
  }
  
  .loc-page-btn {
    min-width: 38px !important;
    height: 38px !important;
    font-size: 12px !important;
  }
  
  .loc-pagination-ellipsis {
    font-size: 16px !important;
    padding: 0 6px !important;
  }
}

/* HIGH DPI / RETINA DISPLAY OPTIMIZATIONS */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .loc-show-image img {
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-03aef5c *//* ======================================
   COMEDY SHOWS DIRECTORY - COMPLETE GAMING AESTHETIC CSS
   Desktop layout improvements with zero PHP changes required
   ====================================== */

/* CSS VARIABLES FOR CONSISTENT THEMING */
:root {
  --comedy-primary: #f5a623;
  --comedy-primary-light: #ffb84d;
  --comedy-primary-dark: #d4941f;
  --comedy-secondary: #1a1a1a;
  --comedy-secondary-light: #2a2a2a;
  --comedy-accent-glow: rgba(245, 166, 35, 0.3);
  --comedy-accent-glow-intense: rgba(245, 166, 35, 0.5);
  --comedy-text-light: #ccc;
  --comedy-text-white: #fff;
  --comedy-border-color: #444;
  --comedy-hover-transform: translateY(-2px);
  --comedy-warning-red: #ff4444;
  --comedy-warning-red-glow: rgba(255, 68, 68, 0.4);
}

/* SEARCH SECTION - Gaming Style */
.comedy-shows-section .comedy-search-container {
  border-left: none !important;
  margin-bottom: 25px !important;
  padding: 0 !important;
}

.comedy-search-form {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  padding: 15px 20px !important;
  border-radius: 12px !important;
  border: 2px solid var(--comedy-border-color) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

.comedy-search-wrapper {
  flex: 1 !important;
  position: relative !important;
}

.comedy-search-input {
  width: 100% !important;
  padding: 12px 16px !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border: 2px solid var(--comedy-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedy-text-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

.comedy-search-input:focus {
  outline: none !important;
  border-color: var(--comedy-primary) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--comedy-accent-glow) !important;
  background: linear-gradient(135deg, #222 0%, #333 100%) !important;
}

.comedy-search-input::placeholder {
  color: #888 !important;
  font-style: italic !important;
}

.comedy-date-wrapper {
  min-width: 150px !important;
}

.comedy-date-input {
  padding: 12px 16px !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border: 2px solid var(--comedy-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedy-text-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

.comedy-date-input:focus {
  outline: none !important;
  border-color: var(--comedy-primary) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--comedy-accent-glow) !important;
  background: linear-gradient(135deg, #222 0%, #333 100%) !important;
}

/* Search Buttons */
.comedy-search-button {
  padding: 12px 20px !important;
  background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
  border: 2px solid var(--comedy-primary) !important;
  border-radius: 8px !important;
  color: var(--comedy-secondary) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
  min-width: 80px !important;
}

.comedy-search-button:hover {
  background: linear-gradient(135deg, var(--comedy-primary-dark) 0%, var(--comedy-primary) 100%) !important;
  transform: var(--comedy-hover-transform) !important;
  box-shadow: 0 5px 15px var(--comedy-accent-glow) !important;
}

.comedy-search-button.comedy-clear-btn {
  background: linear-gradient(135deg, #444 0%, #555 100%) !important;
  border-color: #666 !important;
  color: var(--comedy-text-light) !important;
}

.comedy-search-button.comedy-clear-btn:hover {
  background: linear-gradient(135deg, #555 0%, #666 100%) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-text-white) !important;
  box-shadow: 0 5px 15px rgba(245, 166, 35, 0.2) !important;
}

/* HIDE LOCATION STATUS COMPLETELY */
.comedy-location-status {
  display: none !important;
}

/* POPULAR CITIES FILTER */
.comedy-filter-buttons {
  margin-bottom: 20px !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: flex-start !important;
}

.comedy-filter-buttons::before {
  content: "Popular Cities" !important;
  display: block !important;
  color: var(--comedy-primary) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  margin-bottom: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  width: 100% !important;
}

.comedy-filter-btn {
  padding: 12px 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedy-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedy-text-light) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
  text-transform: none !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
}

.comedy-filter-btn:hover,
.comedy-filter-btn.active {
  background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  transform: var(--comedy-hover-transform) !important;
  box-shadow: 0 5px 15px var(--comedy-accent-glow) !important;
}

.comedy-filter-btn[data-filter="all"] {
  background: linear-gradient(135deg, var(--comedy-primary-dark) 0%, var(--comedy-primary) 100%) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  font-weight: 700 !important;
}

/* DESKTOP: HORIZONTAL LIST LAYOUT */
.comedy-shows-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  margin: 20px 0 !important;
}

.comedy-show-card {
  display: flex !important;
  position: relative !important;
  min-height: 110px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
  border: 2px solid transparent !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
}

.comedy-show-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
  border-color: var(--comedy-primary) !important;
}

.comedy-show-card:hover .comedy-show-image {
  box-shadow: 0 0 20px var(--comedy-accent-glow-intense) !important;
}

/* Left: Card Background Image - 16:9 ratio */
.comedy-show-image {
  width: 160px !important;
  height: 90px !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-color: var(--comedy-secondary-light) !important;
  position: relative !important;
  flex-shrink: 0 !important;
  border: 2px solid var(--comedy-primary) !important;
  box-shadow: 0 0 8px rgba(245, 166, 35, 0.2) !important;
  border-radius: 8px !important;
  margin: 10px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  align-self: center !important;
}

.comedy-image-placeholder {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #666 !important;
  font-size: 36px !important;
  font-weight: 600 !important;
}

/* Price Tag */
.comedy-price-tag {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  background: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  padding: 4px 8px !important;
  border-radius: 4px !important;
  font-weight: bold !important;
  font-size: 11px !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3) !important;
  z-index: 10 !important;
}

/* Supply Limited Badge - Desktop */
.comedy-supply-limited-badge {
  background: linear-gradient(135deg, var(--comedy-warning-red) 0%, #ff6666 100%) !important;
  color: var(--comedy-text-white) !important;
  padding: 8px 16px !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  text-align: center !important;
  box-shadow: 0 4px 12px var(--comedy-warning-red-glow) !important;
  border: 2px solid var(--comedy-warning-red) !important;
  margin-bottom: 12px !important;
  animation: pulse-warning 2s ease-in-out infinite !important;
  white-space: nowrap !important;
}

@keyframes pulse-warning {
  0%, 100% {
    box-shadow: 0 4px 12px var(--comedy-warning-red-glow) !important;
  }
  50% {
    box-shadow: 0 4px 20px rgba(255, 68, 68, 0.6) !important;
  }
}

/* DESKTOP ONLY: Improved layout with CSS repositioning */
@media (min-width: 769px) {
  
  .comedy-show-card {
    display: grid !important;
    grid-template-columns: 180px 1fr 160px 180px !important;
    grid-template-areas: "image content datetime ticket" !important;
    align-items: center !important;
    gap: 0 !important;
    position: relative !important;
  }
  
  .comedy-show-image {
    grid-area: image !important;
    margin: 10px !important;
  }
  
  .comedy-show-content {
    grid-area: content !important;
    padding: 15px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }
  
  /* Move datetime to its own visual section */
  .comedy-show-content .comedy-datetime {
    position: absolute !important;
    right: 200px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: linear-gradient(135deg, rgba(245, 166, 35, 0.1) 0%, rgba(245, 166, 35, 0.05) 100%) !important;
    border-left: 1px solid rgba(245, 166, 35, 0.2) !important;
    border-right: 1px solid rgba(245, 166, 35, 0.2) !important;
    padding: 15px 20px !important;
    text-align: center !important;
    min-width: 120px !important;
    margin: 0 !important;
  }
  
  .comedy-show-content .comedy-date {
    font-weight: 700 !important;
    color: var(--comedy-primary) !important;
    font-size: 16px !important;
    margin: 0 0 4px 0 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
  }
  
  .comedy-show-content .comedy-time {
    color: var(--comedy-text-white) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    margin: 0 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
  }
  
  /* Horizontal utility buttons between content and datetime */
  .comedy-show-content .comedy-utility-buttons {
    position: absolute !important;
    right: 360px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 0 !important;
    align-items: flex-start !important;
  }
  
  .comedy-utility-btn {
  padding: 4px 8px !important;
  border-radius: 8px !important;
  font-size: 8px !important;
  min-height: 20px !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Make parking button match the natural width of the text buttons */
.comedy-parking-btn {
  min-width: 97px !important;
}
  
  .comedy-restaurant-btn .comedy-utility-label {
    font-size: 7px !important;
  }
  
  .comedy-directions-text {
    font-size: 7px !important;
  }
  
  .comedy-location-marker {
    width: 8px !important;
    height: 10px !important;
  }
  
  .comedy-ticket-section {
    grid-area: ticket !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 15px 20px !important;
    position: relative !important;
  }
}

/* Center: Show Content - streamlined info only */
.comedy-show-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.comedy-show-title {
  color: var(--comedy-text-white) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}

.comedy-venue-info {
  margin: 0 !important;
}

.comedy-venue-name {
  color: var(--comedy-primary) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  margin: 0 0 2px 0 !important;
}

.comedy-city-text {
  color: var(--comedy-text-light) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* Right: Ticket Section */
.comedy-ticket-section {
  display: flex !important;
  align-items: center !important;
  padding: 15px 20px !important;
  flex-shrink: 0 !important;
}

.comedy-ticket-btn {
  background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
  color: var(--comedy-secondary) !important;
  text-decoration: none !important;
  padding: 12px 20px !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  border: 2px solid var(--comedy-primary) !important;
}

.comedy-ticket-btn:hover {
  background: linear-gradient(135deg, var(--comedy-primary-dark) 0%, var(--comedy-primary) 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px var(--comedy-accent-glow) !important;
  color: var(--comedy-secondary) !important;
  text-decoration: none !important;
}

/* Utility Buttons */
.comedy-utility-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: 8px !important;
}

.comedy-utility-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 10px !important;
  background: rgba(42, 42, 42, 0.9) !important;
  border: 1px solid rgba(245, 166, 35, 0.5) !important;
  border-radius: 15px !important;
  text-decoration: none !important;
  color: var(--comedy-primary) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  backdrop-filter: blur(5px) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8) !important;
  min-height: 28px !important;
  box-sizing: border-box !important;
}

.comedy-utility-btn:hover {
  background: var(--comedy-primary) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px var(--comedy-accent-glow) !important;
  text-shadow: none !important;
  text-decoration: none !important;
}

/* Parking Button */
.comedy-parking-btn .comedy-utility-icon {
  background: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 3px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 800 !important;
  font-size: 10px !important;
}

.comedy-parking-btn:hover .comedy-utility-icon {
  background: var(--comedy-secondary) !important;
  color: var(--comedy-primary) !important;
}

/* Restaurant Button */
.comedy-restaurant-btn .comedy-utility-label {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* Directions Button with Location Marker Icon */
.comedy-directions-btn {
  gap: 4px !important;
}

.comedy-location-marker {
  display: inline-block !important;
  width: 12px !important;
  height: 16px !important;
  position: relative !important;
}

.comedy-location-marker::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 12px !important;
  height: 12px !important;
  background: currentColor !important;
  border-radius: 50% 50% 50% 0 !important;
  transform: rotate(-45deg) !important;
}

.comedy-location-marker::after {
  content: '' !important;
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 6px !important;
  height: 6px !important;
  background: var(--comedy-secondary) !important;
  border-radius: 50% !important;
  transform: rotate(45deg) !important;
}

.comedy-directions-btn:hover .comedy-location-marker::after {
  background: var(--comedy-primary) !important;
}

.comedy-directions-text {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* PAGINATION STYLING - Enhanced for Desktop */
.comedy-pagination-container {
  margin-top: 50px !important;
  margin-bottom: 30px !important;
}

.comedy-pagination {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 30px 40px !important;
  border: 2px solid var(--comedy-border-color) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.comedy-pagination-info {
  color: var(--comedy-text-light) !important;
  font-size: 16px !important;
  margin-bottom: 25px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
}

.comedy-pagination-buttons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.comedy-page-btn {
  min-width: 50px !important;
  height: 50px !important;
  padding: 0 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedy-border-color) !important;
  border-radius: 12px !important;
  color: var(--comedy-text-light) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.comedy-page-btn:hover,
.comedy-page-btn.active {
  background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  transform: var(--comedy-hover-transform) !important;
  box-shadow: 0 6px 18px var(--comedy-accent-glow) !important;
}

.comedy-pagination-ellipsis {
  color: #666 !important;
  font-size: 20px !important;
  font-weight: bold !important;
  padding: 0 12px !important;
  user-select: none !important;
  line-height: 1 !important;
}

/* REMOVE LOADING SPINNER */
#show-loading {
  display: none !important;
}

.comedy-loading {
  display: none !important;
}

/* NO RESULTS STYLING */
.comedy-no-results {
  text-align: center !important;
  padding: 60px 20px !important;
  color: #888 !important;
  font-size: 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  border-radius: 12px !important;
  border: 2px dashed var(--comedy-border-color) !important;
  margin: 20px 0 !important;
  font-weight: 500 !important;
}

/* MOBILE RESPONSIVENESS - CLEAN HORIZONTAL LAYOUT */
@media (max-width: 768px) {
  /* Mobile: Clean Horizontal Card Layout */
  .comedy-shows-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  
  .comedy-show-card {
    display: flex !important;
    flex-direction: row !important;
    height: auto !important;
    min-height: 120px !important;
    position: relative !important;
    background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
    padding: 10px !important;
    gap: 12px !important;
  }
  
  /* Remove gradient overlay */
  .comedy-show-card::before {
    display: none !important;
  }
  
  /* LEFT: Image (35%) */
  .comedy-show-image {
    width: 35% !important;
    height: auto !important;
    min-height: 100px !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    z-index: 1 !important;
    border: 2px solid var(--comedy-primary) !important;
    margin: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 0 8px rgba(245, 166, 35, 0.2) !important;
    flex-shrink: 0 !important;
  }
  
  /* Price tag on image */
  .comedy-price-tag {
    position: absolute !important;
    top: 6px !important;
    right: 6px !important;
    z-index: 5 !important;
    background: var(--comedy-primary) !important;
    color: var(--comedy-secondary) !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
    font-weight: bold !important;
    font-size: 10px !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3) !important;
  }
  
  /* RIGHT: Content area (65%) */
  .comedy-show-content {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    width: 65% !important;
    padding: 0 !important;
    z-index: 1 !important;
    background: none !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    gap: 6px !important;
  }
  
  /* Row 1: Show Title */
  .comedy-show-info {
    gap: 3px !important;
    margin-bottom: 0 !important;
  }
  
  .comedy-show-title {
    color: var(--comedy-text-white) !important;
    text-shadow: none !important;
    font-size: 14px !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  
  /* Row 2: Venue Name */
  .comedy-venue-name {
    color: var(--comedy-primary) !important;
    text-shadow: none !important;
    font-size: 12px !important;
    margin: 0 !important;
    font-weight: 600 !important;
  }
  
  /* Row 3: City */
  .comedy-city-text {
    color: var(--comedy-text-light) !important;
    text-shadow: none !important;
    font-size: 11px !important;
    font-weight: 500 !important;
  }
  
  /* Row 4: Date/Time + Buy Tickets Button (same row) */
  .comedy-datetime {
    margin: 0 !important;
    position: relative !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    text-align: left !important;
    min-width: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
  }
  
  .comedy-date {
    font-size: 11px !important;
    text-shadow: none !important;
    color: var(--comedy-primary) !important;
    font-weight: 600 !important;
    margin: 0 !important;
  }
  
  .comedy-time {
    font-size: 11px !important;
    text-shadow: none !important;
    color: var(--comedy-text-white) !important;
    font-weight: 500 !important;
    margin: 0 !important;
  }
  
  .comedy-time::before {
    content: '•' !important;
    margin: 0 4px !important;
    color: var(--comedy-text-light) !important;
  }
  
  /* Ticket Section on same row as date/time */
  .comedy-ticket-section {
    position: absolute !important;
    bottom: 10px !important;
    right: 10px !important;
    top: auto !important;
    left: auto !important;
    z-index: 2 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 4px !important;
  }
  
  /* Supply Limited Badge */
  .comedy-supply-limited-badge {
    padding: 3px 8px !important;
    font-size: 8px !important;
    margin-bottom: 0 !important;
    animation: pulse-warning 2s ease-in-out infinite !important;
  }
  
  .comedy-ticket-btn {
    padding: 7px 12px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    min-width: auto !important;
    white-space: nowrap !important;
  }
  
  /* Row 5: Utility buttons at bottom */
  .comedy-utility-buttons {
    margin-top: auto !important;
    margin-bottom: 0 !important;
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    display: flex !important;
    gap: 5px !important;
    flex-wrap: wrap !important;
    max-width: calc(100% - 100px) !important;
    justify-content: flex-start !important;
  }
  
  .comedy-utility-btn {
    padding: 4px 7px !important;
    font-size: 8px !important;
    min-height: 22px !important;
    border-radius: 12px !important;
  }
  
  .comedy-parking-btn .comedy-utility-icon {
    width: 14px !important;
    height: 14px !important;
    font-size: 9px !important;
  }
  
  .comedy-restaurant-btn .comedy-utility-label {
    font-size: 8px !important;
  }
  
  .comedy-directions-text {
    display: inline !important;
    margin-left: 2px !important;
    font-size: 8px !important;
  }
  
  .comedy-location-marker {
    width: 10px !important;
    height: 12px !important;
  }
  
  /* MOBILE SEARCH FORM LAYOUT */
  .comedy-search-form {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 15px !important;
  }
  
  .comedy-search-wrapper {
    flex-basis: 100% !important;
    order: 1 !important;
  }
  
  .comedy-search-input {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  
  .comedy-search-button:not(.comedy-clear-btn) {
    order: 2 !important;
    flex-shrink: 0 !important;
    min-width: 70px !important;
    padding: 12px 16px !important;
    font-size: 12px !important;
  }
  
  .comedy-search-button.comedy-clear-btn {
    order: 3 !important;
    flex-shrink: 0 !important;
    min-width: 60px !important;
    padding: 12px 14px !important;
    font-size: 12px !important;
  }
  
  .comedy-date-wrapper {
    order: 4 !important;
    flex-shrink: 0 !important;
    min-width: 50px !important;
    max-width: 50px !important;
    margin-left: auto !important;
    position: relative !important;
  }
  
  .comedy-date-input {
    position: absolute !important;
    opacity: 0 !important;
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    cursor: pointer !important;
  }
  
  .comedy-date-wrapper::before {
    content: '📅' !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 50px !important;
    height: 48px !important;
    background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
    border: 2px solid var(--comedy-border-color) !important;
    border-radius: 8px !important;
    font-size: 20px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
    pointer-events: none !important;
  }
  
  .comedy-date-wrapper:hover::before {
    background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
    border-color: var(--comedy-primary) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 5px 15px var(--comedy-accent-glow) !important;
  }
  
  .comedy-search-button {
    height: 48px !important;
  }
  
  /* Popular Cities */
  .comedy-filter-buttons {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    margin-bottom: 20px !important;
  }
  
  .comedy-filter-buttons::before {
    grid-column: 1 / -1 !important;
    margin-bottom: 12px !important;
  }
  
  .comedy-filter-btn {
    padding: 12px 8px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-align: center !important;
    border-radius: 6px !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    box-sizing: border-box !important;
    flex: 1 !important;
  }
  
  .comedy-filter-btn[data-filter="all"] {
    font-size: 10px !important;
    padding: 10px 6px !important;
  }
  
  /* Pagination */
  .comedy-pagination {
    padding: 20px 15px !important;
    margin-top: 30px !important;
  }
  
  .comedy-pagination-buttons {
    gap: 8px !important;
  }
  
  .comedy-page-btn {
    min-width: 42px !important;
    height: 42px !important;
    font-size: 13px !important;
  }
  
  .comedy-pagination-info {
    font-size: 14px !important;
    margin-bottom: 20px !important;
  }
  
  .comedy-pagination-ellipsis {
    font-size: 18px !important;
    padding: 0 8px !important;
  }
}

@media (max-width: 480px) {
  /* Very small screens */
  .comedy-show-card {
    min-height: 110px !important;
    padding: 8px !important;
  }
  
  .comedy-show-image {
    width: 32% !important;
    min-height: 94px !important;
  }
  
  .comedy-show-content {
    width: 68% !important;
  }
  
  .comedy-show-title {
    font-size: 13px !important;
  }
  
  .comedy-venue-name {
    font-size: 11px !important;
  }
  
  .comedy-city-text {
    font-size: 10px !important;
  }
  
  .comedy-date,
  .comedy-time {
    font-size: 10px !important;
  }
  
  .comedy-ticket-btn {
    padding: 6px 10px !important;
    font-size: 9px !important;
  }
  
  .comedy-supply-limited-badge {
    padding: 2px 6px !important;
    font-size: 7px !important;
  }
  
  .comedy-utility-btn {
    padding: 3px 6px !important;
    font-size: 7px !important;
    min-height: 20px !important;
  }
  
  .comedy-utility-buttons {
    max-width: calc(100% - 90px) !important;
  }
  
  /* Popular Cities */
  .comedy-filter-buttons {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 6px !important;
  }
  
  .comedy-filter-btn {
    padding: 10px 4px !important;
    font-size: 10px !important;
    min-height: 42px !important;
  }
  
  .comedy-filter-btn[data-filter="all"] {
    font-size: 9px !important;
    padding: 8px 3px !important;
  }
  
  .comedy-pagination {
    padding: 15px 10px !important;
  }
  
  .comedy-page-btn {
    min-width: 38px !important;
    height: 38px !important;
    font-size: 12px !important;
  }
  
  .comedy-pagination-ellipsis {
    font-size: 16px !important;
    padding: 0 6px !important;
  }
}

/* HIGH DPI / RETINA DISPLAY OPTIMIZATIONS */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .comedy-show-image {
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-607b172 *//* ======================================
   COMEDIAN DIRECTORY - FINAL OPTIMIZED CSS
   Add this to Elementor Advanced Settings > Custom CSS
   ====================================== */

/* IMPORT BEBAS NEUE FONT */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

/* CSS VARIABLES FOR CONSISTENT THEMING */
:root {
  --comedian-primary: #f5a623;
  --comedian-primary-light: #ffb84d;
  --comedian-primary-dark: #d4941f;
  --comedian-secondary: #1a1a1a;
  --comedian-secondary-light: #2a2a2a;
  --comedian-accent-glow: rgba(245, 166, 35, 0.3);
  --comedian-accent-glow-intense: rgba(245, 166, 35, 0.5);
  --comedian-text-light: #ccc;
  --comedian-text-white: #fff;
  --comedian-border-color: #444;
  --comedian-hover-transform: translateY(-2px);
}

/* SEARCH SECTION - Gaming Style */
.comedian-directory-section .comedian-search-container {
  border-left: none !important;
  margin-bottom: 25px !important;
  padding: 0 !important;
}

.comedian-search-form {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  padding: 15px 20px !important;
  border-radius: 12px !important;
  border: 2px solid var(--comedian-border-color) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

.comedian-search-wrapper {
  flex: 1 !important;
  position: relative !important;
}

.comedian-search-input {
  width: 100% !important;
  padding: 12px 16px !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border: 2px solid var(--comedian-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedian-text-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

.comedian-search-input:focus {
  outline: none !important;
  border-color: var(--comedian-primary) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--comedian-accent-glow) !important;
  background: linear-gradient(135deg, #222 0%, #333 100%) !important;
}

.comedian-search-input::placeholder {
  color: #888 !important;
  font-style: italic !important;
}

/* Search Buttons */
.comedian-search-button {
  padding: 12px 20px !important;
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  border: 2px solid var(--comedian-primary) !important;
  border-radius: 8px !important;
  color: var(--comedian-secondary) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
  min-width: 80px !important;
}

.comedian-search-button:hover {
  background: linear-gradient(135deg, var(--comedian-primary-dark) 0%, var(--comedian-primary) 100%) !important;
  transform: var(--comedian-hover-transform) !important;
  box-shadow: 0 5px 15px var(--comedian-accent-glow) !important;
}

.comedian-search-button.comedian-clear-btn {
  background: linear-gradient(135deg, #444 0%, #555 100%) !important;
  border-color: #666 !important;
  color: var(--comedian-text-light) !important;
}

.comedian-search-button.comedian-clear-btn:hover {
  background: linear-gradient(135deg, #555 0%, #666 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-text-white) !important;
  box-shadow: 0 5px 15px rgba(245, 166, 35, 0.2) !important;
}

/* DESKTOP ALPHABETICAL FILTER SYSTEM */
.comedian-filter-buttons {
  margin-bottom: 20px !important;
  padding: 0 !important;
}

.comedian-alpha-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: flex-start !important;
  margin-bottom: 10px !important;
}

.comedian-alpha-row:last-child {
  margin-bottom: 20px !important;
}

.comedian-filter-btn {
  padding: 10px 16px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedian-border-color) !important;
  border-radius: 6px !important;
  color: var(--comedian-text-light) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
  text-transform: none !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
  min-width: 40px !important;
  text-align: center !important;
}

.comedian-filter-btn:hover,
.comedian-filter-btn.active {
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  transform: var(--comedian-hover-transform) !important;
  box-shadow: 0 4px 12px var(--comedian-accent-glow) !important;
}

.comedian-filter-btn[data-filter="all"] {
  background: linear-gradient(135deg, var(--comedian-primary-dark) 0%, var(--comedian-primary) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  font-weight: 700 !important;
  padding: 10px 14px !important;
}

/* Hide the # button - no comedians have numbers in names */
.comedian-filter-btn[data-letter="#"] {
  display: none !important;
}

/* MOBILE ALPHABET DROPDOWN */
.comedian-mobile-filter-dropdown {
  display: none !important;
  position: relative !important;
}

.comedian-mobile-filter-trigger {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 50px !important;
  height: 42px !important;
  background: linear-gradient(135deg, var(--comedian-primary-dark) 0%, var(--comedian-primary) 100%) !important;
  border: 2px solid var(--comedian-primary) !important;
  border-radius: 8px !important;
  color: var(--comedian-secondary) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
}

.comedian-mobile-filter-trigger:hover {
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 5px 15px var(--comedian-accent-glow) !important;
}

/* Mobile Dropdown Popup Overlay */
.comedian-filter-popup-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(0, 0, 0, 0.8) !important;
  z-index: 9999 !important;
  display: none;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  backdrop-filter: blur(5px) !important;
}

.comedian-filter-popup {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 25px !important;
  border: 2px solid var(--comedian-border-color) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
  max-width: 320px !important;
  width: 100% !important;
  max-height: 50vh !important;
  overflow-y: auto !important;
}

.comedian-filter-popup-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 20px !important;
}

.comedian-filter-popup-title {
  color: var(--comedian-primary) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 !important;
}

.comedian-filter-popup-close {
  background: none !important;
  border: none !important;
  color: #888 !important;
  font-size: 24px !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: color 0.3s ease !important;
}

.comedian-filter-popup-close:hover {
  color: var(--comedian-primary) !important;
}

.comedian-filter-popup-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
}

.comedian-filter-popup-btn {
  padding: 12px 8px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedian-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedian-text-light) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  text-align: center !important;
  min-height: 45px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.comedian-filter-popup-btn:hover,
.comedian-filter-popup-btn.active {
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  transform: scale(1.05) !important;
}

.comedian-filter-popup-btn[data-filter="all"] {
  grid-column: 1 / -1 !important;
  background: linear-gradient(135deg, var(--comedian-primary-dark) 0%, var(--comedian-primary) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  font-weight: 700 !important;
}

/* COMEDIAN GRID LAYOUT - 2 Column Horizontal Cards */
.comedian-roster-container {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px !important;
  margin: 20px 0 !important;
}

.comedian-card {
  position: relative !important;
  height: 150px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
  border: 2px solid transparent !important;
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  display: flex !important;
  align-items: stretch !important;
}

.comedian-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
  border-color: var(--comedian-primary-light) !important;
}

/* Comedian Image - Left Side (40% width) */
.comedian-image {
  width: 40% !important;
  height: 100% !important;
  flex-shrink: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
}

/* Proper image sizing and centering */
.comedian-photo {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

.comedian-placeholder {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #666 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

/* Card Content - Right Side (60% width) */
.comedian-content {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  padding: 20px 15px 15px 20px !important;
  position: relative !important;
  background: rgba(0, 0, 0, 0.1) !important;
}

.comedian-name {
  color: var(--comedian-secondary) !important;
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  margin: 0 0 12px 0 !important;
  line-height: 0.95 !important;
  text-shadow: none !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
  word-wrap: break-word !important;
  display: block !important;
  max-height: 65px !important;
  overflow: hidden !important;
}

/* Social Media Links - Below Name */
.comedian-links {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: auto !important;
}

.comedian-link-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  background: rgba(26, 26, 26, 0.95) !important;
  border: 2px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 50% !important;
  text-decoration: none !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  backdrop-filter: blur(3px) !important;
  text-shadow: none !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
}

.comedian-link-btn:hover {
  transform: scale(1.15) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5) !important;
}

/* Specific Social Media Button Colors - Vibrant Scheme */
.comedian-website-btn {
  background: linear-gradient(135deg, #4a90e2 0%, #357abd 100%) !important;
  border-color: #4a90e2 !important;
  color: #fff !important;
}

.comedian-website-btn:hover {
  background: linear-gradient(135deg, #357abd 0%, #2968a3 100%) !important;
  border-color: #357abd !important;
  color: #fff !important;
}

.comedian-facebook-btn {
  background: linear-gradient(135deg, #1877f2 0%, #166fe5 100%) !important;
  border-color: #1877f2 !important;
  color: #fff !important;
}

.comedian-facebook-btn:hover {
  background: linear-gradient(135deg, #166fe5 0%, #1464cc 100%) !important;
  border-color: #166fe5 !important;
  color: #fff !important;
}

.comedian-x-btn {
  background: linear-gradient(135deg, #000 0%, #1a1a1a 100%) !important;
  border-color: #333 !important;
  color: #fff !important;
}

.comedian-x-btn:hover {
  background: linear-gradient(135deg, #1a1a1a 0%, #333 100%) !important;
  border-color: #666 !important;
  color: #fff !important;
}

.comedian-instagram-btn {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
  border-color: #f09433 !important;
  color: #fff !important;
}

.comedian-instagram-btn:hover {
  background: linear-gradient(45deg, #e6683c 0%, #dc2743 25%, #cc2366 50%, #bc1888 75%, #a91b72 100%) !important;
  border-color: #e6683c !important;
  color: #fff !important;
}

.comedian-tiktok-btn {
  background: linear-gradient(135deg, #ff0050 0%, #e6004a 100%) !important;
  border-color: #ff0050 !important;
  color: #fff !important;
}

.comedian-tiktok-btn:hover {
  background: linear-gradient(135deg, #e6004a 0%, #cc0041 100%) !important;
  border-color: #e6004a !important;
  color: #fff !important;
}

.comedian-youtube-btn {
  background: linear-gradient(135deg, #ff0000 0%, #e60000 100%) !important;
  border-color: #ff0000 !important;
  color: #fff !important;
}

.comedian-youtube-btn:hover {
  background: linear-gradient(135deg, #e60000 0%, #cc0000 100%) !important;
  border-color: #e60000 !important;
  color: #fff !important;
}

.comedian-imdb-btn {
  background: linear-gradient(135deg, #f5c518 0%, #ddb216 100%) !important;
  border-color: #f5c518 !important;
  color: #000 !important;
}

.comedian-imdb-btn:hover {
  background: linear-gradient(135deg, #ddb216 0%, #c49f14 100%) !important;
  border-color: #ddb216 !important;
  color: #000 !important;
}

/* Icon and Label Styles */
.comedian-link-icon {
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.comedian-link-label {
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2px !important;
  line-height: 1 !important;
}

/* COMPREHENSIVE BIO TEXT ELIMINATION */
.comedian-bio,
.comedian-content p,
.comedian-content .bio,
.comedian-content .bio-text,
.comedian-content > div:not(.comedian-links),
.comedian-content > span:not(.comedian-name),
.comedian-card .description,
.comedian-card [class*="bio"],
.comedian-card [class*="desc"] {
  display: none !important;
}

/* Force hide any text content that's not the name or in links */
.comedian-content > *:not(.comedian-name):not(.comedian-links) {
  display: none !important;
}

/* PAGINATION STYLING */
.comedian-pagination-container {
  margin-top: 40px !important;
  margin-bottom: 30px !important;
}

.comedian-pagination {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 25px 35px !important;
  border: 2px solid var(--comedian-border-color) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.comedian-pagination-info {
  color: var(--comedian-text-light) !important;
  font-size: 15px !important;
  margin-bottom: 20px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
}

.comedian-pagination-buttons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.comedian-page-btn {
  min-width: 45px !important;
  height: 45px !important;
  padding: 0 15px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedian-border-color) !important;
  border-radius: 10px !important;
  color: var(--comedian-text-light) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.comedian-page-btn:hover,
.comedian-page-btn.active {
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  transform: var(--comedian-hover-transform) !important;
  box-shadow: 0 5px 15px var(--comedian-accent-glow) !important;
}

.comedian-pagination-ellipsis {
  color: #666 !important;
  font-size: 18px !important;
  font-weight: bold !important;
  padding: 0 10px !important;
  user-select: none !important;
  line-height: 1 !important;
}

/* LOADING AND NO RESULTS */
#comedian-loading {
  display: none !important;
}

.comedian-loading {
  display: none !important;
}

.comedian-no-results {
  text-align: center !important;
  padding: 50px 20px !important;
  color: #888 !important;
  font-size: 17px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  border-radius: 12px !important;
  border: 2px dashed var(--comedian-border-color) !important;
  margin: 20px 0 !important;
  font-weight: 500 !important;
}

/* MOBILE RESPONSIVENESS */
@media (max-width: 1200px) {
  .comedian-name {
    font-size: 28px !important;
  }
  
  .comedian-links {
    gap: 6px !important;
  }
  
  .comedian-link-btn {
    width: 32px !important;
    height: 32px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 768px) {
  /* MOBILE SEARCH FORM WITH DROPDOWN */
  .comedian-search-form {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 15px !important;
    align-items: flex-end !important;
  }
  
  /* Row 1: Search input - full width */
  .comedian-search-wrapper {
    flex-basis: 100% !important;
    order: 1 !important;
    margin-bottom: 8px !important;
  }
  
  .comedian-search-input {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Row 2: Three buttons in same row */
  .comedian-search-button:not(.comedian-clear-btn) {
    order: 2 !important;
    flex: 0 0 70px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    height: 42px !important;
  }
  
  .comedian-search-button.comedian-clear-btn {
    order: 3 !important;
    flex: 0 0 60px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    height: 42px !important;
  }
  
  .comedian-mobile-filter-dropdown {
    order: 4 !important;
    display: block !important;
    margin-left: auto !important;
  }
  
  /* HIDE DESKTOP FILTERS ON MOBILE */
  .comedian-filter-buttons {
    display: none !important;
  }
  
  /* MOBILE CARD ADJUSTMENTS */
  .comedian-roster-container {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }
  
  .comedian-card {
    height: 150px !important;
  }
  
  .comedian-content {
    padding: 18px 15px 15px 18px !important;
  }
  
  .comedian-name {
    font-size: 28px !important;
    margin-bottom: 15px !important;
  }
  
  .comedian-links {
    gap: 10px !important;
  }
  
  .comedian-link-btn {
    width: 40px !important;
    height: 40px !important;
    font-size: 16px !important;
  }
  
  .comedian-link-label {
    font-size: 9px !important;
  }
  
  /* Pagination mobile */
  .comedian-pagination {
    padding: 15px 10px !important;
    margin-top: 25px !important;
  }
  
  .comedian-pagination-buttons {
    gap: 6px !important;
  }
  
  .comedian-page-btn {
    min-width: 35px !important;
    height: 35px !important;
    font-size: 12px !important;
  }
  
  .comedian-pagination-info {
    font-size: 13px !important;
    margin-bottom: 15px !important;
  }
  
  .comedian-pagination-ellipsis {
    font-size: 16px !important;
    padding: 0 6px !important;
  }
}

@media (max-width: 480px) {
  .comedian-card {
    height: 140px !important;
  }
  
  .comedian-content {
    padding: 15px 12px 12px 15px !important;
  }
  
  .comedian-name {
    font-size: 24px !important;
    margin-bottom: 12px !important;
  }
  
  .comedian-links {
    gap: 8px !important;
  }
  
  .comedian-link-btn {
    width: 36px !important;
    height: 36px !important;
    font-size: 14px !important;
  }
  
  .comedian-link-label {
    font-size: 8px !important;
  }
  
  .comedian-mobile-filter-trigger {
    width: 45px !important;
    height: 42px !important;
    font-size: 16px !important;
  }
  
  .comedian-filter-popup {
    padding: 20px !important;
    max-width: 280px !important;
  }
  
  .comedian-filter-popup-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
  }
  
  .comedian-filter-popup-btn {
    padding: 12px 8px !important;
    font-size: 14px !important;
    min-height: 45px !important;
  }
  
  .comedian-pagination {
    padding: 12px 8px !important;
  }
  
  .comedian-page-btn {
    min-width: 30px !important;
    height: 30px !important;
    font-size: 11px !important;
  }
}

/* HIGH DPI / RETINA DISPLAY OPTIMIZATIONS */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .comedian-image[style*="background-image"] {
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-b1e7878 *//* ======================================
   VENUE DIRECTORY - COMPLETE GRID GAMING AESTHETIC CSS
   Add this to Elementor Advanced Settings > Custom CSS
   ====================================== */

/* CSS VARIABLES FOR CONSISTENT THEMING */
:root {
  --loc-primary: #f5a623;
  --loc-primary-light: #ffb84d;
  --loc-primary-dark: #d4941f;
  --loc-secondary: #1a1a1a;
  --loc-secondary-light: #2a2a2a;
  --loc-accent-glow: rgba(245, 166, 35, 0.3);
  --loc-accent-glow-intense: rgba(245, 166, 35, 0.5);
  --loc-text-light: #ccc;
  --loc-text-white: #fff;
  --loc-border-color: #444;
  --loc-hover-transform: translateY(-2px);
}

/* SEARCH SECTION - Gaming Style */
.loc-shows-section .loc-search-container {
  border-left: none !important;
  margin-bottom: 25px !important;
  padding: 0 !important;
}

.loc-search-form {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  padding: 15px 20px !important;
  border-radius: 12px !important;
  border: 2px solid var(--loc-border-color) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

.loc-search-wrapper {
  flex: 1 !important;
  position: relative !important;
}

.loc-search-input {
  width: 100% !important;
  padding: 12px 16px !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border: 2px solid var(--loc-border-color) !important;
  border-radius: 8px !important;
  color: var(--loc-text-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

.loc-search-input:focus {
  outline: none !important;
  border-color: var(--loc-primary) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--loc-accent-glow) !important;
  background: linear-gradient(135deg, #222 0%, #333 100%) !important;
}

.loc-search-input::placeholder {
  color: #888 !important;
  font-style: italic !important;
}

/* Search Buttons */
.loc-search-button {
  padding: 12px 20px !important;
  background: linear-gradient(135deg, var(--loc-primary) 0%, var(--loc-primary-light) 100%) !important;
  border: 2px solid var(--loc-primary) !important;
  border-radius: 8px !important;
  color: var(--loc-secondary) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
  min-width: 80px !important;
}

.loc-search-button:hover {
  background: linear-gradient(135deg, var(--loc-primary-dark) 0%, var(--loc-primary) 100%) !important;
  transform: var(--loc-hover-transform) !important;
  box-shadow: 0 5px 15px var(--loc-accent-glow) !important;
}

.loc-search-button.loc-clear-btn {
  background: linear-gradient(135deg, #444 0%, #555 100%) !important;
  border-color: #666 !important;
  color: var(--loc-text-light) !important;
}

.loc-search-button.loc-clear-btn:hover {
  background: linear-gradient(135deg, #555 0%, #666 100%) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-text-white) !important;
  box-shadow: 0 5px 15px rgba(245, 166, 35, 0.2) !important;
}

/* POPULAR CITIES FILTER */
.loc-filter-buttons {
  margin-bottom: 20px !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: flex-start !important;
}

.loc-filter-section-title {
  color: var(--loc-primary) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  display: block !important;
  margin-bottom: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.loc-filter-buttons::before {
  content: "Popular Cities" !important;
  display: block !important;
  color: var(--loc-primary) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  margin-bottom: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  width: 100% !important;
}

.loc-filter-btn {
  padding: 12px 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--loc-border-color) !important;
  border-radius: 8px !important;
  color: var(--loc-text-light) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
  text-transform: none !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
}

.loc-filter-btn:hover,
.loc-filter-btn.active {
  background: linear-gradient(135deg, var(--loc-primary) 0%, var(--loc-primary-light) 100%) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  transform: var(--loc-hover-transform) !important;
  box-shadow: 0 5px 15px var(--loc-accent-glow) !important;
}

.loc-filter-btn[data-filter="all"] {
  background: linear-gradient(135deg, var(--loc-primary-dark) 0%, var(--loc-primary) 100%) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  font-weight: 700 !important;
}

/* REMOVE ALPHABETICAL FILTERS AND DUPLICATE SECTIONS */
.loc-alpha-filters,
.loc-alphabetical-filters,
[class*="alpha"],
[class*="alphabet"] {
  display: none !important;
}

/* Hide the duplicate section that contains alphabet letters - KEEP THE CITIES SECTION */
#primary > div > div > div > div > div > div > div > div > div:nth-child(3) {
  display: none !important;
}

/* VENUE GRID LAYOUT - 3 Column Grid System */
.loc-shows-container {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  margin: 20px 0 !important;
}

.loc-show-card {
  position: relative !important;
  height: 280px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
  border: 2px solid transparent !important;
}

.loc-show-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
  border-color: var(--loc-primary) !important;
}

/* Card Background Image */
.loc-show-image {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  z-index: 1 !important;
}

.loc-show-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.venue-placeholder {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #666 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

/* Card Overlay Gradient */
.loc-show-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.7) 100%) !important;
  z-index: 2 !important;
}

/* Card Content Overlay */
.loc-show-content {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 20px !important;
  z-index: 3 !important;
  background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.6) 70%, transparent 100%) !important;
}

.loc-show-title {
  color: var(--loc-text-white) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.3 !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8) !important;
}

.loc-city-text {
  color: var(--loc-text-light) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  margin: 0 0 15px 0 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8) !important;
}

/* Footer Utilities - All Four Buttons Consistently Sized */
.loc-venue-utilities {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

.loc-utility-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 10px !important;
  background: rgba(42, 42, 42, 0.9) !important;
  border: 1px solid rgba(245, 166, 35, 0.5) !important;
  border-radius: 15px !important;
  text-decoration: none !important;
  color: var(--loc-primary) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  backdrop-filter: blur(5px) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8) !important;
  min-height: 28px !important;
  box-sizing: border-box !important;
}

.loc-utility-btn:hover {
  background: var(--loc-primary) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px var(--loc-accent-glow) !important;
  text-shadow: none !important;
}

/* Parking Button */
.loc-parking-btn .loc-utility-icon {
  background: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 3px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 800 !important;
  font-size: 10px !important;
}

.loc-parking-btn:hover .loc-utility-icon {
  background: var(--loc-secondary) !important;
  color: var(--loc-primary) !important;
}

/* Restaurant Button */
.loc-restaurant-btn .loc-utility-label {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* Directions Button with Location Marker Icon */
.loc-directions-btn {
  gap: 4px !important;
}

.loc-location-marker {
  display: inline-block !important;
  width: 12px !important;
  height: 16px !important;
  position: relative !important;
}

.loc-location-marker::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 12px !important;
  height: 12px !important;
  background: currentColor !important;
  border-radius: 50% 50% 50% 0 !important;
  transform: rotate(-45deg) !important;
}

.loc-location-marker::after {
  content: '' !important;
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 6px !important;
  height: 6px !important;
  background: var(--loc-secondary) !important;
  border-radius: 50% !important;
  transform: rotate(45deg) !important;
}

.loc-directions-btn:hover .loc-location-marker::after {
  background: var(--loc-primary) !important;
}

.loc-directions-btn .loc-directions-text {
  display: none !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* Venue Info Button */
.loc-venue-info-btn {
  opacity: 0.8 !important;
}

.loc-venue-info-btn:hover {
  opacity: 1 !important;
}

.loc-venue-info-btn .loc-utility-label {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* PAGINATION STYLING - Enhanced for Desktop */
.loc-pagination-container {
  margin-top: 50px !important;
  margin-bottom: 30px !important;
}

.loc-pagination {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 30px 40px !important;
  border: 2px solid var(--loc-border-color) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.loc-pagination-info {
  color: var(--loc-text-light) !important;
  font-size: 16px !important;
  margin-bottom: 25px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
}

.loc-pagination-buttons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.loc-page-btn {
  min-width: 50px !important;
  height: 50px !important;
  padding: 0 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--loc-border-color) !important;
  border-radius: 12px !important;
  color: var(--loc-text-light) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.loc-page-btn:hover,
.loc-page-btn.active {
  background: linear-gradient(135deg, var(--loc-primary) 0%, var(--loc-primary-light) 100%) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  transform: var(--loc-hover-transform) !important;
  box-shadow: 0 6px 18px var(--loc-accent-glow) !important;
}

.loc-pagination-ellipsis {
  color: #666 !important;
  font-size: 20px !important;
  font-weight: bold !important;
  padding: 0 12px !important;
  user-select: none !important;
  line-height: 1 !important;
}

/* REMOVE LOADING SPINNER */
#venue-loading {
  display: none !important;
}

.loc-loading {
  display: none !important;
}

/* NO RESULTS STYLING */
.shows-no-results {
  text-align: center !important;
  padding: 60px 20px !important;
  color: #888 !important;
  font-size: 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  border-radius: 12px !important;
  border: 2px dashed var(--loc-border-color) !important;
  margin: 20px 0 !important;
  font-weight: 500 !important;
}

/* MOBILE RESPONSIVENESS */
@media (max-width: 1200px) {
  .loc-shows-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  
  /* Adjust pagination for tablet */
  .loc-pagination {
    padding: 25px 30px !important;
  }
  
  .loc-page-btn {
    min-width: 45px !important;
    height: 45px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 768px) {
  /* Search form mobile */
  .loc-search-form {
    flex-direction: column !important;
    gap: 12px !important;
    padding: 15px !important;
  }
  
  .loc-search-wrapper {
    width: 100% !important;
  }
  
  .loc-search-button {
    width: 100% !important;
    justify-content: center !important;
  }
  
  /* Grid becomes 2 columns on mobile */
  .loc-shows-container {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px !important;
  }
  
  .loc-show-card {
    height: 220px !important;
  }
  
  /* FIXED: Popular Cities Mobile 4-Column Grid Layout */
  .loc-filter-buttons {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    margin-bottom: 20px !important;
  }
  
  .loc-filter-buttons::before {
    grid-column: 1 / -1 !important;
    margin-bottom: 12px !important;
  }
  
  .loc-filter-btn {
    padding: 12px 8px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-align: center !important;
    border-radius: 6px !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    box-sizing: border-box !important;
    flex: 1 !important;
  }
  
  /* Ensure "All Venues" button fits properly */
  .loc-filter-btn[data-filter="all"] {
    font-size: 10px !important;
    padding: 10px 6px !important;
  }
  
  /* Card content mobile adjustments */
  .loc-show-content {
    padding: 15px !important;
  }
  
  .loc-show-title {
    font-size: 16px !important;
  }
  
  .loc-city-text {
    font-size: 13px !important;
    margin-bottom: 12px !important;
  }
  
  .loc-utility-btn {
    padding: 5px 8px !important;
    font-size: 10px !important;
    min-height: 26px !important;
  }
  
  /* Mobile: Show "Get Directions" text */
  .loc-directions-btn .loc-directions-text {
    display: inline !important;
    margin-left: 2px !important;
  }
  
  /* Pagination mobile */
  .loc-pagination {
    padding: 20px 15px !important;
    margin-top: 30px !important;
  }
  
  .loc-pagination-buttons {
    gap: 8px !important;
  }
  
  .loc-page-btn {
    min-width: 42px !important;
    height: 42px !important;
    font-size: 13px !important;
  }
  
  .loc-pagination-info {
    font-size: 14px !important;
    margin-bottom: 20px !important;
  }
  
  .loc-pagination-ellipsis {
    font-size: 18px !important;
    padding: 0 8px !important;
  }
}

@media (max-width: 480px) {
  /* Very small screens - single column */
  .loc-shows-container {
    grid-template-columns: 1fr !important;
  }
  
  .loc-show-card {
    height: 200px !important;
  }
  
  /* FIXED: Popular Cities for Very Small Screens - Keep 4x2 Layout */
  .loc-filter-buttons {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 6px !important;
    width: 100% !important;
  }
  
  .loc-filter-buttons::before {
    grid-column: 1 / -1 !important;
    margin-bottom: 10px !important;
  }
  
  .loc-filter-btn {
    padding: 10px 4px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-align: center !important;
    border-radius: 5px !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.1 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    box-sizing: border-box !important;
    flex: 1 !important;
  }
  
  /* Extra small text for "All Venues" on very small screens */
  .loc-filter-btn[data-filter="all"] {
    font-size: 9px !important;
    padding: 8px 3px !important;
  }
  
  .loc-show-title {
    font-size: 15px !important;
  }
  
  .loc-city-text {
    font-size: 12px !important;
  }
  
  .loc-utility-btn {
    padding: 4px 6px !important;
    font-size: 9px !important;
    min-height: 24px !important;
  }
  
  .loc-pagination {
    padding: 15px 10px !important;
  }
  
  .loc-page-btn {
    min-width: 38px !important;
    height: 38px !important;
    font-size: 12px !important;
  }
  
  .loc-pagination-ellipsis {
    font-size: 16px !important;
    padding: 0 6px !important;
  }
}

/* HIGH DPI / RETINA DISPLAY OPTIMIZATIONS */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .loc-show-image img {
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-03aef5c *//* ======================================
   COMEDY SHOWS DIRECTORY - COMPLETE GAMING AESTHETIC CSS
   Desktop layout improvements with zero PHP changes required
   ====================================== */

/* CSS VARIABLES FOR CONSISTENT THEMING */
:root {
  --comedy-primary: #f5a623;
  --comedy-primary-light: #ffb84d;
  --comedy-primary-dark: #d4941f;
  --comedy-secondary: #1a1a1a;
  --comedy-secondary-light: #2a2a2a;
  --comedy-accent-glow: rgba(245, 166, 35, 0.3);
  --comedy-accent-glow-intense: rgba(245, 166, 35, 0.5);
  --comedy-text-light: #ccc;
  --comedy-text-white: #fff;
  --comedy-border-color: #444;
  --comedy-hover-transform: translateY(-2px);
  --comedy-warning-red: #ff4444;
  --comedy-warning-red-glow: rgba(255, 68, 68, 0.4);
}

/* SEARCH SECTION - Gaming Style */
.comedy-shows-section .comedy-search-container {
  border-left: none !important;
  margin-bottom: 25px !important;
  padding: 0 !important;
}

.comedy-search-form {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  padding: 15px 20px !important;
  border-radius: 12px !important;
  border: 2px solid var(--comedy-border-color) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

.comedy-search-wrapper {
  flex: 1 !important;
  position: relative !important;
}

.comedy-search-input {
  width: 100% !important;
  padding: 12px 16px !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border: 2px solid var(--comedy-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedy-text-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

.comedy-search-input:focus {
  outline: none !important;
  border-color: var(--comedy-primary) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--comedy-accent-glow) !important;
  background: linear-gradient(135deg, #222 0%, #333 100%) !important;
}

.comedy-search-input::placeholder {
  color: #888 !important;
  font-style: italic !important;
}

.comedy-date-wrapper {
  min-width: 150px !important;
}

.comedy-date-input {
  padding: 12px 16px !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border: 2px solid var(--comedy-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedy-text-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

.comedy-date-input:focus {
  outline: none !important;
  border-color: var(--comedy-primary) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--comedy-accent-glow) !important;
  background: linear-gradient(135deg, #222 0%, #333 100%) !important;
}

/* Search Buttons */
.comedy-search-button {
  padding: 12px 20px !important;
  background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
  border: 2px solid var(--comedy-primary) !important;
  border-radius: 8px !important;
  color: var(--comedy-secondary) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
  min-width: 80px !important;
}

.comedy-search-button:hover {
  background: linear-gradient(135deg, var(--comedy-primary-dark) 0%, var(--comedy-primary) 100%) !important;
  transform: var(--comedy-hover-transform) !important;
  box-shadow: 0 5px 15px var(--comedy-accent-glow) !important;
}

.comedy-search-button.comedy-clear-btn {
  background: linear-gradient(135deg, #444 0%, #555 100%) !important;
  border-color: #666 !important;
  color: var(--comedy-text-light) !important;
}

.comedy-search-button.comedy-clear-btn:hover {
  background: linear-gradient(135deg, #555 0%, #666 100%) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-text-white) !important;
  box-shadow: 0 5px 15px rgba(245, 166, 35, 0.2) !important;
}

/* HIDE LOCATION STATUS COMPLETELY */
.comedy-location-status {
  display: none !important;
}

/* POPULAR CITIES FILTER */
.comedy-filter-buttons {
  margin-bottom: 20px !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: flex-start !important;
}

.comedy-filter-buttons::before {
  content: "Popular Cities" !important;
  display: block !important;
  color: var(--comedy-primary) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  margin-bottom: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  width: 100% !important;
}

.comedy-filter-btn {
  padding: 12px 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedy-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedy-text-light) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
  text-transform: none !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
}

.comedy-filter-btn:hover,
.comedy-filter-btn.active {
  background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  transform: var(--comedy-hover-transform) !important;
  box-shadow: 0 5px 15px var(--comedy-accent-glow) !important;
}

.comedy-filter-btn[data-filter="all"] {
  background: linear-gradient(135deg, var(--comedy-primary-dark) 0%, var(--comedy-primary) 100%) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  font-weight: 700 !important;
}

/* DESKTOP: HORIZONTAL LIST LAYOUT */
.comedy-shows-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  margin: 20px 0 !important;
}

.comedy-show-card {
  display: flex !important;
  position: relative !important;
  min-height: 110px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
  border: 2px solid transparent !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
}

.comedy-show-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
  border-color: var(--comedy-primary) !important;
}

.comedy-show-card:hover .comedy-show-image {
  box-shadow: 0 0 20px var(--comedy-accent-glow-intense) !important;
}

/* Left: Card Background Image - 16:9 ratio */
.comedy-show-image {
  width: 160px !important;
  height: 90px !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-color: var(--comedy-secondary-light) !important;
  position: relative !important;
  flex-shrink: 0 !important;
  border: 2px solid var(--comedy-primary) !important;
  box-shadow: 0 0 8px rgba(245, 166, 35, 0.2) !important;
  border-radius: 8px !important;
  margin: 10px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  align-self: center !important;
}

.comedy-image-placeholder {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #666 !important;
  font-size: 36px !important;
  font-weight: 600 !important;
}

/* Price Tag */
.comedy-price-tag {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  background: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  padding: 4px 8px !important;
  border-radius: 4px !important;
  font-weight: bold !important;
  font-size: 11px !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3) !important;
  z-index: 10 !important;
}

/* Supply Limited Badge - Desktop */
.comedy-supply-limited-badge {
  background: linear-gradient(135deg, var(--comedy-warning-red) 0%, #ff6666 100%) !important;
  color: var(--comedy-text-white) !important;
  padding: 8px 16px !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  text-align: center !important;
  box-shadow: 0 4px 12px var(--comedy-warning-red-glow) !important;
  border: 2px solid var(--comedy-warning-red) !important;
  margin-bottom: 12px !important;
  animation: pulse-warning 2s ease-in-out infinite !important;
  white-space: nowrap !important;
}

@keyframes pulse-warning {
  0%, 100% {
    box-shadow: 0 4px 12px var(--comedy-warning-red-glow) !important;
  }
  50% {
    box-shadow: 0 4px 20px rgba(255, 68, 68, 0.6) !important;
  }
}

/* DESKTOP ONLY: Improved layout with CSS repositioning */
@media (min-width: 769px) {
  
  .comedy-show-card {
    display: grid !important;
    grid-template-columns: 180px 1fr 160px 180px !important;
    grid-template-areas: "image content datetime ticket" !important;
    align-items: center !important;
    gap: 0 !important;
    position: relative !important;
  }
  
  .comedy-show-image {
    grid-area: image !important;
    margin: 10px !important;
  }
  
  .comedy-show-content {
    grid-area: content !important;
    padding: 15px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }
  
  /* Move datetime to its own visual section */
  .comedy-show-content .comedy-datetime {
    position: absolute !important;
    right: 200px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: linear-gradient(135deg, rgba(245, 166, 35, 0.1) 0%, rgba(245, 166, 35, 0.05) 100%) !important;
    border-left: 1px solid rgba(245, 166, 35, 0.2) !important;
    border-right: 1px solid rgba(245, 166, 35, 0.2) !important;
    padding: 15px 20px !important;
    text-align: center !important;
    min-width: 120px !important;
    margin: 0 !important;
  }
  
  .comedy-show-content .comedy-date {
    font-weight: 700 !important;
    color: var(--comedy-primary) !important;
    font-size: 16px !important;
    margin: 0 0 4px 0 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
  }
  
  .comedy-show-content .comedy-time {
    color: var(--comedy-text-white) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    margin: 0 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
  }
  
  /* Horizontal utility buttons between content and datetime */
  .comedy-show-content .comedy-utility-buttons {
    position: absolute !important;
    right: 360px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 0 !important;
    align-items: flex-start !important;
  }
  
  .comedy-utility-btn {
  padding: 4px 8px !important;
  border-radius: 8px !important;
  font-size: 8px !important;
  min-height: 20px !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Make parking button match the natural width of the text buttons */
.comedy-parking-btn {
  min-width: 97px !important;
}
  
  .comedy-restaurant-btn .comedy-utility-label {
    font-size: 7px !important;
  }
  
  .comedy-directions-text {
    font-size: 7px !important;
  }
  
  .comedy-location-marker {
    width: 8px !important;
    height: 10px !important;
  }
  
  .comedy-ticket-section {
    grid-area: ticket !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 15px 20px !important;
    position: relative !important;
  }
}

/* Center: Show Content - streamlined info only */
.comedy-show-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.comedy-show-title {
  color: var(--comedy-text-white) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}

.comedy-venue-info {
  margin: 0 !important;
}

.comedy-venue-name {
  color: var(--comedy-primary) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  margin: 0 0 2px 0 !important;
}

.comedy-city-text {
  color: var(--comedy-text-light) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* Right: Ticket Section */
.comedy-ticket-section {
  display: flex !important;
  align-items: center !important;
  padding: 15px 20px !important;
  flex-shrink: 0 !important;
}

.comedy-ticket-btn {
  background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
  color: var(--comedy-secondary) !important;
  text-decoration: none !important;
  padding: 12px 20px !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  border: 2px solid var(--comedy-primary) !important;
}

.comedy-ticket-btn:hover {
  background: linear-gradient(135deg, var(--comedy-primary-dark) 0%, var(--comedy-primary) 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px var(--comedy-accent-glow) !important;
  color: var(--comedy-secondary) !important;
  text-decoration: none !important;
}

/* Utility Buttons */
.comedy-utility-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: 8px !important;
}

.comedy-utility-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 10px !important;
  background: rgba(42, 42, 42, 0.9) !important;
  border: 1px solid rgba(245, 166, 35, 0.5) !important;
  border-radius: 15px !important;
  text-decoration: none !important;
  color: var(--comedy-primary) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  backdrop-filter: blur(5px) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8) !important;
  min-height: 28px !important;
  box-sizing: border-box !important;
}

.comedy-utility-btn:hover {
  background: var(--comedy-primary) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px var(--comedy-accent-glow) !important;
  text-shadow: none !important;
  text-decoration: none !important;
}

/* Parking Button */
.comedy-parking-btn .comedy-utility-icon {
  background: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 3px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 800 !important;
  font-size: 10px !important;
}

.comedy-parking-btn:hover .comedy-utility-icon {
  background: var(--comedy-secondary) !important;
  color: var(--comedy-primary) !important;
}

/* Restaurant Button */
.comedy-restaurant-btn .comedy-utility-label {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* Directions Button with Location Marker Icon */
.comedy-directions-btn {
  gap: 4px !important;
}

.comedy-location-marker {
  display: inline-block !important;
  width: 12px !important;
  height: 16px !important;
  position: relative !important;
}

.comedy-location-marker::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 12px !important;
  height: 12px !important;
  background: currentColor !important;
  border-radius: 50% 50% 50% 0 !important;
  transform: rotate(-45deg) !important;
}

.comedy-location-marker::after {
  content: '' !important;
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 6px !important;
  height: 6px !important;
  background: var(--comedy-secondary) !important;
  border-radius: 50% !important;
  transform: rotate(45deg) !important;
}

.comedy-directions-btn:hover .comedy-location-marker::after {
  background: var(--comedy-primary) !important;
}

.comedy-directions-text {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* PAGINATION STYLING - Enhanced for Desktop */
.comedy-pagination-container {
  margin-top: 50px !important;
  margin-bottom: 30px !important;
}

.comedy-pagination {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 30px 40px !important;
  border: 2px solid var(--comedy-border-color) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.comedy-pagination-info {
  color: var(--comedy-text-light) !important;
  font-size: 16px !important;
  margin-bottom: 25px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
}

.comedy-pagination-buttons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.comedy-page-btn {
  min-width: 50px !important;
  height: 50px !important;
  padding: 0 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedy-border-color) !important;
  border-radius: 12px !important;
  color: var(--comedy-text-light) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.comedy-page-btn:hover,
.comedy-page-btn.active {
  background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  transform: var(--comedy-hover-transform) !important;
  box-shadow: 0 6px 18px var(--comedy-accent-glow) !important;
}

.comedy-pagination-ellipsis {
  color: #666 !important;
  font-size: 20px !important;
  font-weight: bold !important;
  padding: 0 12px !important;
  user-select: none !important;
  line-height: 1 !important;
}

/* REMOVE LOADING SPINNER */
#show-loading {
  display: none !important;
}

.comedy-loading {
  display: none !important;
}

/* NO RESULTS STYLING */
.comedy-no-results {
  text-align: center !important;
  padding: 60px 20px !important;
  color: #888 !important;
  font-size: 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  border-radius: 12px !important;
  border: 2px dashed var(--comedy-border-color) !important;
  margin: 20px 0 !important;
  font-weight: 500 !important;
}

/* MOBILE RESPONSIVENESS - CLEAN HORIZONTAL LAYOUT */
@media (max-width: 768px) {
  /* Mobile: Clean Horizontal Card Layout */
  .comedy-shows-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  
  .comedy-show-card {
    display: flex !important;
    flex-direction: row !important;
    height: auto !important;
    min-height: 120px !important;
    position: relative !important;
    background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
    padding: 10px !important;
    gap: 12px !important;
  }
  
  /* Remove gradient overlay */
  .comedy-show-card::before {
    display: none !important;
  }
  
  /* LEFT: Image (35%) */
  .comedy-show-image {
    width: 35% !important;
    height: auto !important;
    min-height: 100px !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    z-index: 1 !important;
    border: 2px solid var(--comedy-primary) !important;
    margin: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 0 8px rgba(245, 166, 35, 0.2) !important;
    flex-shrink: 0 !important;
  }
  
  /* Price tag on image */
  .comedy-price-tag {
    position: absolute !important;
    top: 6px !important;
    right: 6px !important;
    z-index: 5 !important;
    background: var(--comedy-primary) !important;
    color: var(--comedy-secondary) !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
    font-weight: bold !important;
    font-size: 10px !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3) !important;
  }
  
  /* RIGHT: Content area (65%) */
  .comedy-show-content {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    width: 65% !important;
    padding: 0 !important;
    z-index: 1 !important;
    background: none !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    gap: 6px !important;
  }
  
  /* Row 1: Show Title */
  .comedy-show-info {
    gap: 3px !important;
    margin-bottom: 0 !important;
  }
  
  .comedy-show-title {
    color: var(--comedy-text-white) !important;
    text-shadow: none !important;
    font-size: 14px !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  
  /* Row 2: Venue Name */
  .comedy-venue-name {
    color: var(--comedy-primary) !important;
    text-shadow: none !important;
    font-size: 12px !important;
    margin: 0 !important;
    font-weight: 600 !important;
  }
  
  /* Row 3: City */
  .comedy-city-text {
    color: var(--comedy-text-light) !important;
    text-shadow: none !important;
    font-size: 11px !important;
    font-weight: 500 !important;
  }
  
  /* Row 4: Date/Time + Buy Tickets Button (same row) */
  .comedy-datetime {
    margin: 0 !important;
    position: relative !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    text-align: left !important;
    min-width: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
  }
  
  .comedy-date {
    font-size: 11px !important;
    text-shadow: none !important;
    color: var(--comedy-primary) !important;
    font-weight: 600 !important;
    margin: 0 !important;
  }
  
  .comedy-time {
    font-size: 11px !important;
    text-shadow: none !important;
    color: var(--comedy-text-white) !important;
    font-weight: 500 !important;
    margin: 0 !important;
  }
  
  .comedy-time::before {
    content: '•' !important;
    margin: 0 4px !important;
    color: var(--comedy-text-light) !important;
  }
  
  /* Ticket Section on same row as date/time */
  .comedy-ticket-section {
    position: absolute !important;
    bottom: 10px !important;
    right: 10px !important;
    top: auto !important;
    left: auto !important;
    z-index: 2 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 4px !important;
  }
  
  /* Supply Limited Badge */
  .comedy-supply-limited-badge {
    padding: 3px 8px !important;
    font-size: 8px !important;
    margin-bottom: 0 !important;
    animation: pulse-warning 2s ease-in-out infinite !important;
  }
  
  .comedy-ticket-btn {
    padding: 7px 12px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    min-width: auto !important;
    white-space: nowrap !important;
  }
  
  /* Row 5: Utility buttons at bottom */
  .comedy-utility-buttons {
    margin-top: auto !important;
    margin-bottom: 0 !important;
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    display: flex !important;
    gap: 5px !important;
    flex-wrap: wrap !important;
    max-width: calc(100% - 100px) !important;
    justify-content: flex-start !important;
  }
  
  .comedy-utility-btn {
    padding: 4px 7px !important;
    font-size: 8px !important;
    min-height: 22px !important;
    border-radius: 12px !important;
  }
  
  .comedy-parking-btn .comedy-utility-icon {
    width: 14px !important;
    height: 14px !important;
    font-size: 9px !important;
  }
  
  .comedy-restaurant-btn .comedy-utility-label {
    font-size: 8px !important;
  }
  
  .comedy-directions-text {
    display: inline !important;
    margin-left: 2px !important;
    font-size: 8px !important;
  }
  
  .comedy-location-marker {
    width: 10px !important;
    height: 12px !important;
  }
  
  /* MOBILE SEARCH FORM LAYOUT */
  .comedy-search-form {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 15px !important;
  }
  
  .comedy-search-wrapper {
    flex-basis: 100% !important;
    order: 1 !important;
  }
  
  .comedy-search-input {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  
  .comedy-search-button:not(.comedy-clear-btn) {
    order: 2 !important;
    flex-shrink: 0 !important;
    min-width: 70px !important;
    padding: 12px 16px !important;
    font-size: 12px !important;
  }
  
  .comedy-search-button.comedy-clear-btn {
    order: 3 !important;
    flex-shrink: 0 !important;
    min-width: 60px !important;
    padding: 12px 14px !important;
    font-size: 12px !important;
  }
  
  .comedy-date-wrapper {
    order: 4 !important;
    flex-shrink: 0 !important;
    min-width: 50px !important;
    max-width: 50px !important;
    margin-left: auto !important;
    position: relative !important;
  }
  
  .comedy-date-input {
    position: absolute !important;
    opacity: 0 !important;
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    cursor: pointer !important;
  }
  
  .comedy-date-wrapper::before {
    content: '📅' !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 50px !important;
    height: 48px !important;
    background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
    border: 2px solid var(--comedy-border-color) !important;
    border-radius: 8px !important;
    font-size: 20px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
    pointer-events: none !important;
  }
  
  .comedy-date-wrapper:hover::before {
    background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
    border-color: var(--comedy-primary) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 5px 15px var(--comedy-accent-glow) !important;
  }
  
  .comedy-search-button {
    height: 48px !important;
  }
  
  /* Popular Cities */
  .comedy-filter-buttons {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    margin-bottom: 20px !important;
  }
  
  .comedy-filter-buttons::before {
    grid-column: 1 / -1 !important;
    margin-bottom: 12px !important;
  }
  
  .comedy-filter-btn {
    padding: 12px 8px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-align: center !important;
    border-radius: 6px !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    box-sizing: border-box !important;
    flex: 1 !important;
  }
  
  .comedy-filter-btn[data-filter="all"] {
    font-size: 10px !important;
    padding: 10px 6px !important;
  }
  
  /* Pagination */
  .comedy-pagination {
    padding: 20px 15px !important;
    margin-top: 30px !important;
  }
  
  .comedy-pagination-buttons {
    gap: 8px !important;
  }
  
  .comedy-page-btn {
    min-width: 42px !important;
    height: 42px !important;
    font-size: 13px !important;
  }
  
  .comedy-pagination-info {
    font-size: 14px !important;
    margin-bottom: 20px !important;
  }
  
  .comedy-pagination-ellipsis {
    font-size: 18px !important;
    padding: 0 8px !important;
  }
}

@media (max-width: 480px) {
  /* Very small screens */
  .comedy-show-card {
    min-height: 110px !important;
    padding: 8px !important;
  }
  
  .comedy-show-image {
    width: 32% !important;
    min-height: 94px !important;
  }
  
  .comedy-show-content {
    width: 68% !important;
  }
  
  .comedy-show-title {
    font-size: 13px !important;
  }
  
  .comedy-venue-name {
    font-size: 11px !important;
  }
  
  .comedy-city-text {
    font-size: 10px !important;
  }
  
  .comedy-date,
  .comedy-time {
    font-size: 10px !important;
  }
  
  .comedy-ticket-btn {
    padding: 6px 10px !important;
    font-size: 9px !important;
  }
  
  .comedy-supply-limited-badge {
    padding: 2px 6px !important;
    font-size: 7px !important;
  }
  
  .comedy-utility-btn {
    padding: 3px 6px !important;
    font-size: 7px !important;
    min-height: 20px !important;
  }
  
  .comedy-utility-buttons {
    max-width: calc(100% - 90px) !important;
  }
  
  /* Popular Cities */
  .comedy-filter-buttons {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 6px !important;
  }
  
  .comedy-filter-btn {
    padding: 10px 4px !important;
    font-size: 10px !important;
    min-height: 42px !important;
  }
  
  .comedy-filter-btn[data-filter="all"] {
    font-size: 9px !important;
    padding: 8px 3px !important;
  }
  
  .comedy-pagination {
    padding: 15px 10px !important;
  }
  
  .comedy-page-btn {
    min-width: 38px !important;
    height: 38px !important;
    font-size: 12px !important;
  }
  
  .comedy-pagination-ellipsis {
    font-size: 16px !important;
    padding: 0 6px !important;
  }
}

/* HIGH DPI / RETINA DISPLAY OPTIMIZATIONS */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .comedy-show-image {
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-607b172 *//* ======================================
   COMEDIAN DIRECTORY - FINAL OPTIMIZED CSS
   Add this to Elementor Advanced Settings > Custom CSS
   ====================================== */

/* IMPORT BEBAS NEUE FONT */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

/* CSS VARIABLES FOR CONSISTENT THEMING */
:root {
  --comedian-primary: #f5a623;
  --comedian-primary-light: #ffb84d;
  --comedian-primary-dark: #d4941f;
  --comedian-secondary: #1a1a1a;
  --comedian-secondary-light: #2a2a2a;
  --comedian-accent-glow: rgba(245, 166, 35, 0.3);
  --comedian-accent-glow-intense: rgba(245, 166, 35, 0.5);
  --comedian-text-light: #ccc;
  --comedian-text-white: #fff;
  --comedian-border-color: #444;
  --comedian-hover-transform: translateY(-2px);
}

/* SEARCH SECTION - Gaming Style */
.comedian-directory-section .comedian-search-container {
  border-left: none !important;
  margin-bottom: 25px !important;
  padding: 0 !important;
}

.comedian-search-form {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  padding: 15px 20px !important;
  border-radius: 12px !important;
  border: 2px solid var(--comedian-border-color) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

.comedian-search-wrapper {
  flex: 1 !important;
  position: relative !important;
}

.comedian-search-input {
  width: 100% !important;
  padding: 12px 16px !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border: 2px solid var(--comedian-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedian-text-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

.comedian-search-input:focus {
  outline: none !important;
  border-color: var(--comedian-primary) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--comedian-accent-glow) !important;
  background: linear-gradient(135deg, #222 0%, #333 100%) !important;
}

.comedian-search-input::placeholder {
  color: #888 !important;
  font-style: italic !important;
}

/* Search Buttons */
.comedian-search-button {
  padding: 12px 20px !important;
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  border: 2px solid var(--comedian-primary) !important;
  border-radius: 8px !important;
  color: var(--comedian-secondary) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
  min-width: 80px !important;
}

.comedian-search-button:hover {
  background: linear-gradient(135deg, var(--comedian-primary-dark) 0%, var(--comedian-primary) 100%) !important;
  transform: var(--comedian-hover-transform) !important;
  box-shadow: 0 5px 15px var(--comedian-accent-glow) !important;
}

.comedian-search-button.comedian-clear-btn {
  background: linear-gradient(135deg, #444 0%, #555 100%) !important;
  border-color: #666 !important;
  color: var(--comedian-text-light) !important;
}

.comedian-search-button.comedian-clear-btn:hover {
  background: linear-gradient(135deg, #555 0%, #666 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-text-white) !important;
  box-shadow: 0 5px 15px rgba(245, 166, 35, 0.2) !important;
}

/* DESKTOP ALPHABETICAL FILTER SYSTEM */
.comedian-filter-buttons {
  margin-bottom: 20px !important;
  padding: 0 !important;
}

.comedian-alpha-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: flex-start !important;
  margin-bottom: 10px !important;
}

.comedian-alpha-row:last-child {
  margin-bottom: 20px !important;
}

.comedian-filter-btn {
  padding: 10px 16px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedian-border-color) !important;
  border-radius: 6px !important;
  color: var(--comedian-text-light) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
  text-transform: none !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
  min-width: 40px !important;
  text-align: center !important;
}

.comedian-filter-btn:hover,
.comedian-filter-btn.active {
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  transform: var(--comedian-hover-transform) !important;
  box-shadow: 0 4px 12px var(--comedian-accent-glow) !important;
}

.comedian-filter-btn[data-filter="all"] {
  background: linear-gradient(135deg, var(--comedian-primary-dark) 0%, var(--comedian-primary) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  font-weight: 700 !important;
  padding: 10px 14px !important;
}

/* Hide the # button - no comedians have numbers in names */
.comedian-filter-btn[data-letter="#"] {
  display: none !important;
}

/* MOBILE ALPHABET DROPDOWN */
.comedian-mobile-filter-dropdown {
  display: none !important;
  position: relative !important;
}

.comedian-mobile-filter-trigger {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 50px !important;
  height: 42px !important;
  background: linear-gradient(135deg, var(--comedian-primary-dark) 0%, var(--comedian-primary) 100%) !important;
  border: 2px solid var(--comedian-primary) !important;
  border-radius: 8px !important;
  color: var(--comedian-secondary) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
}

.comedian-mobile-filter-trigger:hover {
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 5px 15px var(--comedian-accent-glow) !important;
}

/* Mobile Dropdown Popup Overlay */
.comedian-filter-popup-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(0, 0, 0, 0.8) !important;
  z-index: 9999 !important;
  display: none;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  backdrop-filter: blur(5px) !important;
}

.comedian-filter-popup {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 25px !important;
  border: 2px solid var(--comedian-border-color) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
  max-width: 320px !important;
  width: 100% !important;
  max-height: 50vh !important;
  overflow-y: auto !important;
}

.comedian-filter-popup-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 20px !important;
}

.comedian-filter-popup-title {
  color: var(--comedian-primary) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 !important;
}

.comedian-filter-popup-close {
  background: none !important;
  border: none !important;
  color: #888 !important;
  font-size: 24px !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: color 0.3s ease !important;
}

.comedian-filter-popup-close:hover {
  color: var(--comedian-primary) !important;
}

.comedian-filter-popup-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
}

.comedian-filter-popup-btn {
  padding: 12px 8px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedian-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedian-text-light) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  text-align: center !important;
  min-height: 45px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.comedian-filter-popup-btn:hover,
.comedian-filter-popup-btn.active {
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  transform: scale(1.05) !important;
}

.comedian-filter-popup-btn[data-filter="all"] {
  grid-column: 1 / -1 !important;
  background: linear-gradient(135deg, var(--comedian-primary-dark) 0%, var(--comedian-primary) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  font-weight: 700 !important;
}

/* COMEDIAN GRID LAYOUT - 2 Column Horizontal Cards */
.comedian-roster-container {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px !important;
  margin: 20px 0 !important;
}

.comedian-card {
  position: relative !important;
  height: 150px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
  border: 2px solid transparent !important;
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  display: flex !important;
  align-items: stretch !important;
}

.comedian-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
  border-color: var(--comedian-primary-light) !important;
}

/* Comedian Image - Left Side (40% width) */
.comedian-image {
  width: 40% !important;
  height: 100% !important;
  flex-shrink: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
}

/* Proper image sizing and centering */
.comedian-photo {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

.comedian-placeholder {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #666 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

/* Card Content - Right Side (60% width) */
.comedian-content {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  padding: 20px 15px 15px 20px !important;
  position: relative !important;
  background: rgba(0, 0, 0, 0.1) !important;
}

.comedian-name {
  color: var(--comedian-secondary) !important;
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  margin: 0 0 12px 0 !important;
  line-height: 0.95 !important;
  text-shadow: none !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
  word-wrap: break-word !important;
  display: block !important;
  max-height: 65px !important;
  overflow: hidden !important;
}

/* Social Media Links - Below Name */
.comedian-links {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: auto !important;
}

.comedian-link-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  background: rgba(26, 26, 26, 0.95) !important;
  border: 2px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 50% !important;
  text-decoration: none !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  backdrop-filter: blur(3px) !important;
  text-shadow: none !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
}

.comedian-link-btn:hover {
  transform: scale(1.15) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5) !important;
}

/* Specific Social Media Button Colors - Vibrant Scheme */
.comedian-website-btn {
  background: linear-gradient(135deg, #4a90e2 0%, #357abd 100%) !important;
  border-color: #4a90e2 !important;
  color: #fff !important;
}

.comedian-website-btn:hover {
  background: linear-gradient(135deg, #357abd 0%, #2968a3 100%) !important;
  border-color: #357abd !important;
  color: #fff !important;
}

.comedian-facebook-btn {
  background: linear-gradient(135deg, #1877f2 0%, #166fe5 100%) !important;
  border-color: #1877f2 !important;
  color: #fff !important;
}

.comedian-facebook-btn:hover {
  background: linear-gradient(135deg, #166fe5 0%, #1464cc 100%) !important;
  border-color: #166fe5 !important;
  color: #fff !important;
}

.comedian-x-btn {
  background: linear-gradient(135deg, #000 0%, #1a1a1a 100%) !important;
  border-color: #333 !important;
  color: #fff !important;
}

.comedian-x-btn:hover {
  background: linear-gradient(135deg, #1a1a1a 0%, #333 100%) !important;
  border-color: #666 !important;
  color: #fff !important;
}

.comedian-instagram-btn {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
  border-color: #f09433 !important;
  color: #fff !important;
}

.comedian-instagram-btn:hover {
  background: linear-gradient(45deg, #e6683c 0%, #dc2743 25%, #cc2366 50%, #bc1888 75%, #a91b72 100%) !important;
  border-color: #e6683c !important;
  color: #fff !important;
}

.comedian-tiktok-btn {
  background: linear-gradient(135deg, #ff0050 0%, #e6004a 100%) !important;
  border-color: #ff0050 !important;
  color: #fff !important;
}

.comedian-tiktok-btn:hover {
  background: linear-gradient(135deg, #e6004a 0%, #cc0041 100%) !important;
  border-color: #e6004a !important;
  color: #fff !important;
}

.comedian-youtube-btn {
  background: linear-gradient(135deg, #ff0000 0%, #e60000 100%) !important;
  border-color: #ff0000 !important;
  color: #fff !important;
}

.comedian-youtube-btn:hover {
  background: linear-gradient(135deg, #e60000 0%, #cc0000 100%) !important;
  border-color: #e60000 !important;
  color: #fff !important;
}

.comedian-imdb-btn {
  background: linear-gradient(135deg, #f5c518 0%, #ddb216 100%) !important;
  border-color: #f5c518 !important;
  color: #000 !important;
}

.comedian-imdb-btn:hover {
  background: linear-gradient(135deg, #ddb216 0%, #c49f14 100%) !important;
  border-color: #ddb216 !important;
  color: #000 !important;
}

/* Icon and Label Styles */
.comedian-link-icon {
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.comedian-link-label {
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2px !important;
  line-height: 1 !important;
}

/* COMPREHENSIVE BIO TEXT ELIMINATION */
.comedian-bio,
.comedian-content p,
.comedian-content .bio,
.comedian-content .bio-text,
.comedian-content > div:not(.comedian-links),
.comedian-content > span:not(.comedian-name),
.comedian-card .description,
.comedian-card [class*="bio"],
.comedian-card [class*="desc"] {
  display: none !important;
}

/* Force hide any text content that's not the name or in links */
.comedian-content > *:not(.comedian-name):not(.comedian-links) {
  display: none !important;
}

/* PAGINATION STYLING */
.comedian-pagination-container {
  margin-top: 40px !important;
  margin-bottom: 30px !important;
}

.comedian-pagination {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 25px 35px !important;
  border: 2px solid var(--comedian-border-color) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.comedian-pagination-info {
  color: var(--comedian-text-light) !important;
  font-size: 15px !important;
  margin-bottom: 20px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
}

.comedian-pagination-buttons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.comedian-page-btn {
  min-width: 45px !important;
  height: 45px !important;
  padding: 0 15px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedian-border-color) !important;
  border-radius: 10px !important;
  color: var(--comedian-text-light) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.comedian-page-btn:hover,
.comedian-page-btn.active {
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  transform: var(--comedian-hover-transform) !important;
  box-shadow: 0 5px 15px var(--comedian-accent-glow) !important;
}

.comedian-pagination-ellipsis {
  color: #666 !important;
  font-size: 18px !important;
  font-weight: bold !important;
  padding: 0 10px !important;
  user-select: none !important;
  line-height: 1 !important;
}

/* LOADING AND NO RESULTS */
#comedian-loading {
  display: none !important;
}

.comedian-loading {
  display: none !important;
}

.comedian-no-results {
  text-align: center !important;
  padding: 50px 20px !important;
  color: #888 !important;
  font-size: 17px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  border-radius: 12px !important;
  border: 2px dashed var(--comedian-border-color) !important;
  margin: 20px 0 !important;
  font-weight: 500 !important;
}

/* MOBILE RESPONSIVENESS */
@media (max-width: 1200px) {
  .comedian-name {
    font-size: 28px !important;
  }
  
  .comedian-links {
    gap: 6px !important;
  }
  
  .comedian-link-btn {
    width: 32px !important;
    height: 32px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 768px) {
  /* MOBILE SEARCH FORM WITH DROPDOWN */
  .comedian-search-form {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 15px !important;
    align-items: flex-end !important;
  }
  
  /* Row 1: Search input - full width */
  .comedian-search-wrapper {
    flex-basis: 100% !important;
    order: 1 !important;
    margin-bottom: 8px !important;
  }
  
  .comedian-search-input {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Row 2: Three buttons in same row */
  .comedian-search-button:not(.comedian-clear-btn) {
    order: 2 !important;
    flex: 0 0 70px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    height: 42px !important;
  }
  
  .comedian-search-button.comedian-clear-btn {
    order: 3 !important;
    flex: 0 0 60px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    height: 42px !important;
  }
  
  .comedian-mobile-filter-dropdown {
    order: 4 !important;
    display: block !important;
    margin-left: auto !important;
  }
  
  /* HIDE DESKTOP FILTERS ON MOBILE */
  .comedian-filter-buttons {
    display: none !important;
  }
  
  /* MOBILE CARD ADJUSTMENTS */
  .comedian-roster-container {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }
  
  .comedian-card {
    height: 150px !important;
  }
  
  .comedian-content {
    padding: 18px 15px 15px 18px !important;
  }
  
  .comedian-name {
    font-size: 28px !important;
    margin-bottom: 15px !important;
  }
  
  .comedian-links {
    gap: 10px !important;
  }
  
  .comedian-link-btn {
    width: 40px !important;
    height: 40px !important;
    font-size: 16px !important;
  }
  
  .comedian-link-label {
    font-size: 9px !important;
  }
  
  /* Pagination mobile */
  .comedian-pagination {
    padding: 15px 10px !important;
    margin-top: 25px !important;
  }
  
  .comedian-pagination-buttons {
    gap: 6px !important;
  }
  
  .comedian-page-btn {
    min-width: 35px !important;
    height: 35px !important;
    font-size: 12px !important;
  }
  
  .comedian-pagination-info {
    font-size: 13px !important;
    margin-bottom: 15px !important;
  }
  
  .comedian-pagination-ellipsis {
    font-size: 16px !important;
    padding: 0 6px !important;
  }
}

@media (max-width: 480px) {
  .comedian-card {
    height: 140px !important;
  }
  
  .comedian-content {
    padding: 15px 12px 12px 15px !important;
  }
  
  .comedian-name {
    font-size: 24px !important;
    margin-bottom: 12px !important;
  }
  
  .comedian-links {
    gap: 8px !important;
  }
  
  .comedian-link-btn {
    width: 36px !important;
    height: 36px !important;
    font-size: 14px !important;
  }
  
  .comedian-link-label {
    font-size: 8px !important;
  }
  
  .comedian-mobile-filter-trigger {
    width: 45px !important;
    height: 42px !important;
    font-size: 16px !important;
  }
  
  .comedian-filter-popup {
    padding: 20px !important;
    max-width: 280px !important;
  }
  
  .comedian-filter-popup-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
  }
  
  .comedian-filter-popup-btn {
    padding: 12px 8px !important;
    font-size: 14px !important;
    min-height: 45px !important;
  }
  
  .comedian-pagination {
    padding: 12px 8px !important;
  }
  
  .comedian-page-btn {
    min-width: 30px !important;
    height: 30px !important;
    font-size: 11px !important;
  }
}

/* HIGH DPI / RETINA DISPLAY OPTIMIZATIONS */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .comedian-image[style*="background-image"] {
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-b1e7878 *//* ======================================
   VENUE DIRECTORY - COMPLETE GRID GAMING AESTHETIC CSS
   Add this to Elementor Advanced Settings > Custom CSS
   ====================================== */

/* CSS VARIABLES FOR CONSISTENT THEMING */
:root {
  --loc-primary: #f5a623;
  --loc-primary-light: #ffb84d;
  --loc-primary-dark: #d4941f;
  --loc-secondary: #1a1a1a;
  --loc-secondary-light: #2a2a2a;
  --loc-accent-glow: rgba(245, 166, 35, 0.3);
  --loc-accent-glow-intense: rgba(245, 166, 35, 0.5);
  --loc-text-light: #ccc;
  --loc-text-white: #fff;
  --loc-border-color: #444;
  --loc-hover-transform: translateY(-2px);
}

/* SEARCH SECTION - Gaming Style */
.loc-shows-section .loc-search-container {
  border-left: none !important;
  margin-bottom: 25px !important;
  padding: 0 !important;
}

.loc-search-form {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  padding: 15px 20px !important;
  border-radius: 12px !important;
  border: 2px solid var(--loc-border-color) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

.loc-search-wrapper {
  flex: 1 !important;
  position: relative !important;
}

.loc-search-input {
  width: 100% !important;
  padding: 12px 16px !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border: 2px solid var(--loc-border-color) !important;
  border-radius: 8px !important;
  color: var(--loc-text-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

.loc-search-input:focus {
  outline: none !important;
  border-color: var(--loc-primary) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--loc-accent-glow) !important;
  background: linear-gradient(135deg, #222 0%, #333 100%) !important;
}

.loc-search-input::placeholder {
  color: #888 !important;
  font-style: italic !important;
}

/* Search Buttons */
.loc-search-button {
  padding: 12px 20px !important;
  background: linear-gradient(135deg, var(--loc-primary) 0%, var(--loc-primary-light) 100%) !important;
  border: 2px solid var(--loc-primary) !important;
  border-radius: 8px !important;
  color: var(--loc-secondary) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
  min-width: 80px !important;
}

.loc-search-button:hover {
  background: linear-gradient(135deg, var(--loc-primary-dark) 0%, var(--loc-primary) 100%) !important;
  transform: var(--loc-hover-transform) !important;
  box-shadow: 0 5px 15px var(--loc-accent-glow) !important;
}

.loc-search-button.loc-clear-btn {
  background: linear-gradient(135deg, #444 0%, #555 100%) !important;
  border-color: #666 !important;
  color: var(--loc-text-light) !important;
}

.loc-search-button.loc-clear-btn:hover {
  background: linear-gradient(135deg, #555 0%, #666 100%) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-text-white) !important;
  box-shadow: 0 5px 15px rgba(245, 166, 35, 0.2) !important;
}

/* POPULAR CITIES FILTER */
.loc-filter-buttons {
  margin-bottom: 20px !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: flex-start !important;
}

.loc-filter-section-title {
  color: var(--loc-primary) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  display: block !important;
  margin-bottom: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.loc-filter-buttons::before {
  content: "Popular Cities" !important;
  display: block !important;
  color: var(--loc-primary) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  margin-bottom: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  width: 100% !important;
}

.loc-filter-btn {
  padding: 12px 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--loc-border-color) !important;
  border-radius: 8px !important;
  color: var(--loc-text-light) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
  text-transform: none !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
}

.loc-filter-btn:hover,
.loc-filter-btn.active {
  background: linear-gradient(135deg, var(--loc-primary) 0%, var(--loc-primary-light) 100%) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  transform: var(--loc-hover-transform) !important;
  box-shadow: 0 5px 15px var(--loc-accent-glow) !important;
}

.loc-filter-btn[data-filter="all"] {
  background: linear-gradient(135deg, var(--loc-primary-dark) 0%, var(--loc-primary) 100%) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  font-weight: 700 !important;
}

/* REMOVE ALPHABETICAL FILTERS AND DUPLICATE SECTIONS */
.loc-alpha-filters,
.loc-alphabetical-filters,
[class*="alpha"],
[class*="alphabet"] {
  display: none !important;
}

/* Hide the duplicate section that contains alphabet letters - KEEP THE CITIES SECTION */
#primary > div > div > div > div > div > div > div > div > div:nth-child(3) {
  display: none !important;
}

/* VENUE GRID LAYOUT - 3 Column Grid System */
.loc-shows-container {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  margin: 20px 0 !important;
}

.loc-show-card {
  position: relative !important;
  height: 280px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
  border: 2px solid transparent !important;
}

.loc-show-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
  border-color: var(--loc-primary) !important;
}

/* Card Background Image */
.loc-show-image {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  z-index: 1 !important;
}

.loc-show-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.venue-placeholder {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #666 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

/* Card Overlay Gradient */
.loc-show-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.7) 100%) !important;
  z-index: 2 !important;
}

/* Card Content Overlay */
.loc-show-content {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 20px !important;
  z-index: 3 !important;
  background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.6) 70%, transparent 100%) !important;
}

.loc-show-title {
  color: var(--loc-text-white) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.3 !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8) !important;
}

.loc-city-text {
  color: var(--loc-text-light) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  margin: 0 0 15px 0 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8) !important;
}

/* Footer Utilities - All Four Buttons Consistently Sized */
.loc-venue-utilities {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

.loc-utility-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 10px !important;
  background: rgba(42, 42, 42, 0.9) !important;
  border: 1px solid rgba(245, 166, 35, 0.5) !important;
  border-radius: 15px !important;
  text-decoration: none !important;
  color: var(--loc-primary) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  backdrop-filter: blur(5px) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8) !important;
  min-height: 28px !important;
  box-sizing: border-box !important;
}

.loc-utility-btn:hover {
  background: var(--loc-primary) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px var(--loc-accent-glow) !important;
  text-shadow: none !important;
}

/* Parking Button */
.loc-parking-btn .loc-utility-icon {
  background: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 3px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 800 !important;
  font-size: 10px !important;
}

.loc-parking-btn:hover .loc-utility-icon {
  background: var(--loc-secondary) !important;
  color: var(--loc-primary) !important;
}

/* Restaurant Button */
.loc-restaurant-btn .loc-utility-label {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* Directions Button with Location Marker Icon */
.loc-directions-btn {
  gap: 4px !important;
}

.loc-location-marker {
  display: inline-block !important;
  width: 12px !important;
  height: 16px !important;
  position: relative !important;
}

.loc-location-marker::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 12px !important;
  height: 12px !important;
  background: currentColor !important;
  border-radius: 50% 50% 50% 0 !important;
  transform: rotate(-45deg) !important;
}

.loc-location-marker::after {
  content: '' !important;
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 6px !important;
  height: 6px !important;
  background: var(--loc-secondary) !important;
  border-radius: 50% !important;
  transform: rotate(45deg) !important;
}

.loc-directions-btn:hover .loc-location-marker::after {
  background: var(--loc-primary) !important;
}

.loc-directions-btn .loc-directions-text {
  display: none !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* Venue Info Button */
.loc-venue-info-btn {
  opacity: 0.8 !important;
}

.loc-venue-info-btn:hover {
  opacity: 1 !important;
}

.loc-venue-info-btn .loc-utility-label {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* PAGINATION STYLING - Enhanced for Desktop */
.loc-pagination-container {
  margin-top: 50px !important;
  margin-bottom: 30px !important;
}

.loc-pagination {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 30px 40px !important;
  border: 2px solid var(--loc-border-color) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.loc-pagination-info {
  color: var(--loc-text-light) !important;
  font-size: 16px !important;
  margin-bottom: 25px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
}

.loc-pagination-buttons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.loc-page-btn {
  min-width: 50px !important;
  height: 50px !important;
  padding: 0 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--loc-border-color) !important;
  border-radius: 12px !important;
  color: var(--loc-text-light) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.loc-page-btn:hover,
.loc-page-btn.active {
  background: linear-gradient(135deg, var(--loc-primary) 0%, var(--loc-primary-light) 100%) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  transform: var(--loc-hover-transform) !important;
  box-shadow: 0 6px 18px var(--loc-accent-glow) !important;
}

.loc-pagination-ellipsis {
  color: #666 !important;
  font-size: 20px !important;
  font-weight: bold !important;
  padding: 0 12px !important;
  user-select: none !important;
  line-height: 1 !important;
}

/* REMOVE LOADING SPINNER */
#venue-loading {
  display: none !important;
}

.loc-loading {
  display: none !important;
}

/* NO RESULTS STYLING */
.shows-no-results {
  text-align: center !important;
  padding: 60px 20px !important;
  color: #888 !important;
  font-size: 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  border-radius: 12px !important;
  border: 2px dashed var(--loc-border-color) !important;
  margin: 20px 0 !important;
  font-weight: 500 !important;
}

/* MOBILE RESPONSIVENESS */
@media (max-width: 1200px) {
  .loc-shows-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  
  /* Adjust pagination for tablet */
  .loc-pagination {
    padding: 25px 30px !important;
  }
  
  .loc-page-btn {
    min-width: 45px !important;
    height: 45px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 768px) {
  /* Search form mobile */
  .loc-search-form {
    flex-direction: column !important;
    gap: 12px !important;
    padding: 15px !important;
  }
  
  .loc-search-wrapper {
    width: 100% !important;
  }
  
  .loc-search-button {
    width: 100% !important;
    justify-content: center !important;
  }
  
  /* Grid becomes 2 columns on mobile */
  .loc-shows-container {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px !important;
  }
  
  .loc-show-card {
    height: 220px !important;
  }
  
  /* FIXED: Popular Cities Mobile 4-Column Grid Layout */
  .loc-filter-buttons {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    margin-bottom: 20px !important;
  }
  
  .loc-filter-buttons::before {
    grid-column: 1 / -1 !important;
    margin-bottom: 12px !important;
  }
  
  .loc-filter-btn {
    padding: 12px 8px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-align: center !important;
    border-radius: 6px !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    box-sizing: border-box !important;
    flex: 1 !important;
  }
  
  /* Ensure "All Venues" button fits properly */
  .loc-filter-btn[data-filter="all"] {
    font-size: 10px !important;
    padding: 10px 6px !important;
  }
  
  /* Card content mobile adjustments */
  .loc-show-content {
    padding: 15px !important;
  }
  
  .loc-show-title {
    font-size: 16px !important;
  }
  
  .loc-city-text {
    font-size: 13px !important;
    margin-bottom: 12px !important;
  }
  
  .loc-utility-btn {
    padding: 5px 8px !important;
    font-size: 10px !important;
    min-height: 26px !important;
  }
  
  /* Mobile: Show "Get Directions" text */
  .loc-directions-btn .loc-directions-text {
    display: inline !important;
    margin-left: 2px !important;
  }
  
  /* Pagination mobile */
  .loc-pagination {
    padding: 20px 15px !important;
    margin-top: 30px !important;
  }
  
  .loc-pagination-buttons {
    gap: 8px !important;
  }
  
  .loc-page-btn {
    min-width: 42px !important;
    height: 42px !important;
    font-size: 13px !important;
  }
  
  .loc-pagination-info {
    font-size: 14px !important;
    margin-bottom: 20px !important;
  }
  
  .loc-pagination-ellipsis {
    font-size: 18px !important;
    padding: 0 8px !important;
  }
}

@media (max-width: 480px) {
  /* Very small screens - single column */
  .loc-shows-container {
    grid-template-columns: 1fr !important;
  }
  
  .loc-show-card {
    height: 200px !important;
  }
  
  /* FIXED: Popular Cities for Very Small Screens - Keep 4x2 Layout */
  .loc-filter-buttons {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 6px !important;
    width: 100% !important;
  }
  
  .loc-filter-buttons::before {
    grid-column: 1 / -1 !important;
    margin-bottom: 10px !important;
  }
  
  .loc-filter-btn {
    padding: 10px 4px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-align: center !important;
    border-radius: 5px !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.1 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    box-sizing: border-box !important;
    flex: 1 !important;
  }
  
  /* Extra small text for "All Venues" on very small screens */
  .loc-filter-btn[data-filter="all"] {
    font-size: 9px !important;
    padding: 8px 3px !important;
  }
  
  .loc-show-title {
    font-size: 15px !important;
  }
  
  .loc-city-text {
    font-size: 12px !important;
  }
  
  .loc-utility-btn {
    padding: 4px 6px !important;
    font-size: 9px !important;
    min-height: 24px !important;
  }
  
  .loc-pagination {
    padding: 15px 10px !important;
  }
  
  .loc-page-btn {
    min-width: 38px !important;
    height: 38px !important;
    font-size: 12px !important;
  }
  
  .loc-pagination-ellipsis {
    font-size: 16px !important;
    padding: 0 6px !important;
  }
}

/* HIGH DPI / RETINA DISPLAY OPTIMIZATIONS */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .loc-show-image img {
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-03aef5c *//* ======================================
   COMEDY SHOWS DIRECTORY - COMPLETE GAMING AESTHETIC CSS
   Desktop layout improvements with zero PHP changes required
   ====================================== */

/* CSS VARIABLES FOR CONSISTENT THEMING */
:root {
  --comedy-primary: #f5a623;
  --comedy-primary-light: #ffb84d;
  --comedy-primary-dark: #d4941f;
  --comedy-secondary: #1a1a1a;
  --comedy-secondary-light: #2a2a2a;
  --comedy-accent-glow: rgba(245, 166, 35, 0.3);
  --comedy-accent-glow-intense: rgba(245, 166, 35, 0.5);
  --comedy-text-light: #ccc;
  --comedy-text-white: #fff;
  --comedy-border-color: #444;
  --comedy-hover-transform: translateY(-2px);
  --comedy-warning-red: #ff4444;
  --comedy-warning-red-glow: rgba(255, 68, 68, 0.4);
}

/* SEARCH SECTION - Gaming Style */
.comedy-shows-section .comedy-search-container {
  border-left: none !important;
  margin-bottom: 25px !important;
  padding: 0 !important;
}

.comedy-search-form {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  padding: 15px 20px !important;
  border-radius: 12px !important;
  border: 2px solid var(--comedy-border-color) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

.comedy-search-wrapper {
  flex: 1 !important;
  position: relative !important;
}

.comedy-search-input {
  width: 100% !important;
  padding: 12px 16px !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border: 2px solid var(--comedy-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedy-text-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

.comedy-search-input:focus {
  outline: none !important;
  border-color: var(--comedy-primary) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--comedy-accent-glow) !important;
  background: linear-gradient(135deg, #222 0%, #333 100%) !important;
}

.comedy-search-input::placeholder {
  color: #888 !important;
  font-style: italic !important;
}

.comedy-date-wrapper {
  min-width: 150px !important;
}

.comedy-date-input {
  padding: 12px 16px !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border: 2px solid var(--comedy-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedy-text-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

.comedy-date-input:focus {
  outline: none !important;
  border-color: var(--comedy-primary) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--comedy-accent-glow) !important;
  background: linear-gradient(135deg, #222 0%, #333 100%) !important;
}

/* Search Buttons */
.comedy-search-button {
  padding: 12px 20px !important;
  background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
  border: 2px solid var(--comedy-primary) !important;
  border-radius: 8px !important;
  color: var(--comedy-secondary) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
  min-width: 80px !important;
}

.comedy-search-button:hover {
  background: linear-gradient(135deg, var(--comedy-primary-dark) 0%, var(--comedy-primary) 100%) !important;
  transform: var(--comedy-hover-transform) !important;
  box-shadow: 0 5px 15px var(--comedy-accent-glow) !important;
}

.comedy-search-button.comedy-clear-btn {
  background: linear-gradient(135deg, #444 0%, #555 100%) !important;
  border-color: #666 !important;
  color: var(--comedy-text-light) !important;
}

.comedy-search-button.comedy-clear-btn:hover {
  background: linear-gradient(135deg, #555 0%, #666 100%) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-text-white) !important;
  box-shadow: 0 5px 15px rgba(245, 166, 35, 0.2) !important;
}

/* HIDE LOCATION STATUS COMPLETELY */
.comedy-location-status {
  display: none !important;
}

/* POPULAR CITIES FILTER */
.comedy-filter-buttons {
  margin-bottom: 20px !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: flex-start !important;
}

.comedy-filter-buttons::before {
  content: "Popular Cities" !important;
  display: block !important;
  color: var(--comedy-primary) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  margin-bottom: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  width: 100% !important;
}

.comedy-filter-btn {
  padding: 12px 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedy-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedy-text-light) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
  text-transform: none !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
}

.comedy-filter-btn:hover,
.comedy-filter-btn.active {
  background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  transform: var(--comedy-hover-transform) !important;
  box-shadow: 0 5px 15px var(--comedy-accent-glow) !important;
}

.comedy-filter-btn[data-filter="all"] {
  background: linear-gradient(135deg, var(--comedy-primary-dark) 0%, var(--comedy-primary) 100%) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  font-weight: 700 !important;
}

/* DESKTOP: HORIZONTAL LIST LAYOUT */
.comedy-shows-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  margin: 20px 0 !important;
}

.comedy-show-card {
  display: flex !important;
  position: relative !important;
  min-height: 110px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
  border: 2px solid transparent !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
}

.comedy-show-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
  border-color: var(--comedy-primary) !important;
}

.comedy-show-card:hover .comedy-show-image {
  box-shadow: 0 0 20px var(--comedy-accent-glow-intense) !important;
}

/* Left: Card Background Image - 16:9 ratio */
.comedy-show-image {
  width: 160px !important;
  height: 90px !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-color: var(--comedy-secondary-light) !important;
  position: relative !important;
  flex-shrink: 0 !important;
  border: 2px solid var(--comedy-primary) !important;
  box-shadow: 0 0 8px rgba(245, 166, 35, 0.2) !important;
  border-radius: 8px !important;
  margin: 10px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  align-self: center !important;
}

.comedy-image-placeholder {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #666 !important;
  font-size: 36px !important;
  font-weight: 600 !important;
}

/* Price Tag */
.comedy-price-tag {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  background: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  padding: 4px 8px !important;
  border-radius: 4px !important;
  font-weight: bold !important;
  font-size: 11px !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3) !important;
  z-index: 10 !important;
}

/* Supply Limited Badge - Desktop */
.comedy-supply-limited-badge {
  background: linear-gradient(135deg, var(--comedy-warning-red) 0%, #ff6666 100%) !important;
  color: var(--comedy-text-white) !important;
  padding: 8px 16px !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  text-align: center !important;
  box-shadow: 0 4px 12px var(--comedy-warning-red-glow) !important;
  border: 2px solid var(--comedy-warning-red) !important;
  margin-bottom: 12px !important;
  animation: pulse-warning 2s ease-in-out infinite !important;
  white-space: nowrap !important;
}

@keyframes pulse-warning {
  0%, 100% {
    box-shadow: 0 4px 12px var(--comedy-warning-red-glow) !important;
  }
  50% {
    box-shadow: 0 4px 20px rgba(255, 68, 68, 0.6) !important;
  }
}

/* DESKTOP ONLY: Improved layout with CSS repositioning */
@media (min-width: 769px) {
  
  .comedy-show-card {
    display: grid !important;
    grid-template-columns: 180px 1fr 160px 180px !important;
    grid-template-areas: "image content datetime ticket" !important;
    align-items: center !important;
    gap: 0 !important;
    position: relative !important;
  }
  
  .comedy-show-image {
    grid-area: image !important;
    margin: 10px !important;
  }
  
  .comedy-show-content {
    grid-area: content !important;
    padding: 15px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }
  
  /* Move datetime to its own visual section */
  .comedy-show-content .comedy-datetime {
    position: absolute !important;
    right: 200px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: linear-gradient(135deg, rgba(245, 166, 35, 0.1) 0%, rgba(245, 166, 35, 0.05) 100%) !important;
    border-left: 1px solid rgba(245, 166, 35, 0.2) !important;
    border-right: 1px solid rgba(245, 166, 35, 0.2) !important;
    padding: 15px 20px !important;
    text-align: center !important;
    min-width: 120px !important;
    margin: 0 !important;
  }
  
  .comedy-show-content .comedy-date {
    font-weight: 700 !important;
    color: var(--comedy-primary) !important;
    font-size: 16px !important;
    margin: 0 0 4px 0 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
  }
  
  .comedy-show-content .comedy-time {
    color: var(--comedy-text-white) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    margin: 0 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
  }
  
  /* Horizontal utility buttons between content and datetime */
  .comedy-show-content .comedy-utility-buttons {
    position: absolute !important;
    right: 360px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 0 !important;
    align-items: flex-start !important;
  }
  
  .comedy-utility-btn {
  padding: 4px 8px !important;
  border-radius: 8px !important;
  font-size: 8px !important;
  min-height: 20px !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Make parking button match the natural width of the text buttons */
.comedy-parking-btn {
  min-width: 97px !important;
}
  
  .comedy-restaurant-btn .comedy-utility-label {
    font-size: 7px !important;
  }
  
  .comedy-directions-text {
    font-size: 7px !important;
  }
  
  .comedy-location-marker {
    width: 8px !important;
    height: 10px !important;
  }
  
  .comedy-ticket-section {
    grid-area: ticket !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 15px 20px !important;
    position: relative !important;
  }
}

/* Center: Show Content - streamlined info only */
.comedy-show-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.comedy-show-title {
  color: var(--comedy-text-white) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}

.comedy-venue-info {
  margin: 0 !important;
}

.comedy-venue-name {
  color: var(--comedy-primary) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  margin: 0 0 2px 0 !important;
}

.comedy-city-text {
  color: var(--comedy-text-light) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* Right: Ticket Section */
.comedy-ticket-section {
  display: flex !important;
  align-items: center !important;
  padding: 15px 20px !important;
  flex-shrink: 0 !important;
}

.comedy-ticket-btn {
  background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
  color: var(--comedy-secondary) !important;
  text-decoration: none !important;
  padding: 12px 20px !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  border: 2px solid var(--comedy-primary) !important;
}

.comedy-ticket-btn:hover {
  background: linear-gradient(135deg, var(--comedy-primary-dark) 0%, var(--comedy-primary) 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px var(--comedy-accent-glow) !important;
  color: var(--comedy-secondary) !important;
  text-decoration: none !important;
}

/* Utility Buttons */
.comedy-utility-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: 8px !important;
}

.comedy-utility-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 10px !important;
  background: rgba(42, 42, 42, 0.9) !important;
  border: 1px solid rgba(245, 166, 35, 0.5) !important;
  border-radius: 15px !important;
  text-decoration: none !important;
  color: var(--comedy-primary) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  backdrop-filter: blur(5px) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8) !important;
  min-height: 28px !important;
  box-sizing: border-box !important;
}

.comedy-utility-btn:hover {
  background: var(--comedy-primary) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px var(--comedy-accent-glow) !important;
  text-shadow: none !important;
  text-decoration: none !important;
}

/* Parking Button */
.comedy-parking-btn .comedy-utility-icon {
  background: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 3px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 800 !important;
  font-size: 10px !important;
}

.comedy-parking-btn:hover .comedy-utility-icon {
  background: var(--comedy-secondary) !important;
  color: var(--comedy-primary) !important;
}

/* Restaurant Button */
.comedy-restaurant-btn .comedy-utility-label {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* Directions Button with Location Marker Icon */
.comedy-directions-btn {
  gap: 4px !important;
}

.comedy-location-marker {
  display: inline-block !important;
  width: 12px !important;
  height: 16px !important;
  position: relative !important;
}

.comedy-location-marker::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 12px !important;
  height: 12px !important;
  background: currentColor !important;
  border-radius: 50% 50% 50% 0 !important;
  transform: rotate(-45deg) !important;
}

.comedy-location-marker::after {
  content: '' !important;
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 6px !important;
  height: 6px !important;
  background: var(--comedy-secondary) !important;
  border-radius: 50% !important;
  transform: rotate(45deg) !important;
}

.comedy-directions-btn:hover .comedy-location-marker::after {
  background: var(--comedy-primary) !important;
}

.comedy-directions-text {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* PAGINATION STYLING - Enhanced for Desktop */
.comedy-pagination-container {
  margin-top: 50px !important;
  margin-bottom: 30px !important;
}

.comedy-pagination {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 30px 40px !important;
  border: 2px solid var(--comedy-border-color) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.comedy-pagination-info {
  color: var(--comedy-text-light) !important;
  font-size: 16px !important;
  margin-bottom: 25px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
}

.comedy-pagination-buttons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.comedy-page-btn {
  min-width: 50px !important;
  height: 50px !important;
  padding: 0 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedy-border-color) !important;
  border-radius: 12px !important;
  color: var(--comedy-text-light) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.comedy-page-btn:hover,
.comedy-page-btn.active {
  background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  transform: var(--comedy-hover-transform) !important;
  box-shadow: 0 6px 18px var(--comedy-accent-glow) !important;
}

.comedy-pagination-ellipsis {
  color: #666 !important;
  font-size: 20px !important;
  font-weight: bold !important;
  padding: 0 12px !important;
  user-select: none !important;
  line-height: 1 !important;
}

/* REMOVE LOADING SPINNER */
#show-loading {
  display: none !important;
}

.comedy-loading {
  display: none !important;
}

/* NO RESULTS STYLING */
.comedy-no-results {
  text-align: center !important;
  padding: 60px 20px !important;
  color: #888 !important;
  font-size: 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  border-radius: 12px !important;
  border: 2px dashed var(--comedy-border-color) !important;
  margin: 20px 0 !important;
  font-weight: 500 !important;
}

/* MOBILE RESPONSIVENESS - CLEAN HORIZONTAL LAYOUT */
@media (max-width: 768px) {
  /* Mobile: Clean Horizontal Card Layout */
  .comedy-shows-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  
  .comedy-show-card {
    display: flex !important;
    flex-direction: row !important;
    height: auto !important;
    min-height: 120px !important;
    position: relative !important;
    background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
    padding: 10px !important;
    gap: 12px !important;
  }
  
  /* Remove gradient overlay */
  .comedy-show-card::before {
    display: none !important;
  }
  
  /* LEFT: Image (35%) */
  .comedy-show-image {
    width: 35% !important;
    height: auto !important;
    min-height: 100px !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    z-index: 1 !important;
    border: 2px solid var(--comedy-primary) !important;
    margin: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 0 8px rgba(245, 166, 35, 0.2) !important;
    flex-shrink: 0 !important;
  }
  
  /* Price tag on image */
  .comedy-price-tag {
    position: absolute !important;
    top: 6px !important;
    right: 6px !important;
    z-index: 5 !important;
    background: var(--comedy-primary) !important;
    color: var(--comedy-secondary) !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
    font-weight: bold !important;
    font-size: 10px !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3) !important;
  }
  
  /* RIGHT: Content area (65%) */
  .comedy-show-content {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    width: 65% !important;
    padding: 0 !important;
    z-index: 1 !important;
    background: none !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    gap: 6px !important;
  }
  
  /* Row 1: Show Title */
  .comedy-show-info {
    gap: 3px !important;
    margin-bottom: 0 !important;
  }
  
  .comedy-show-title {
    color: var(--comedy-text-white) !important;
    text-shadow: none !important;
    font-size: 14px !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  
  /* Row 2: Venue Name */
  .comedy-venue-name {
    color: var(--comedy-primary) !important;
    text-shadow: none !important;
    font-size: 12px !important;
    margin: 0 !important;
    font-weight: 600 !important;
  }
  
  /* Row 3: City */
  .comedy-city-text {
    color: var(--comedy-text-light) !important;
    text-shadow: none !important;
    font-size: 11px !important;
    font-weight: 500 !important;
  }
  
  /* Row 4: Date/Time + Buy Tickets Button (same row) */
  .comedy-datetime {
    margin: 0 !important;
    position: relative !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    text-align: left !important;
    min-width: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
  }
  
  .comedy-date {
    font-size: 11px !important;
    text-shadow: none !important;
    color: var(--comedy-primary) !important;
    font-weight: 600 !important;
    margin: 0 !important;
  }
  
  .comedy-time {
    font-size: 11px !important;
    text-shadow: none !important;
    color: var(--comedy-text-white) !important;
    font-weight: 500 !important;
    margin: 0 !important;
  }
  
  .comedy-time::before {
    content: '•' !important;
    margin: 0 4px !important;
    color: var(--comedy-text-light) !important;
  }
  
  /* Ticket Section on same row as date/time */
  .comedy-ticket-section {
    position: absolute !important;
    bottom: 10px !important;
    right: 10px !important;
    top: auto !important;
    left: auto !important;
    z-index: 2 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 4px !important;
  }
  
  /* Supply Limited Badge */
  .comedy-supply-limited-badge {
    padding: 3px 8px !important;
    font-size: 8px !important;
    margin-bottom: 0 !important;
    animation: pulse-warning 2s ease-in-out infinite !important;
  }
  
  .comedy-ticket-btn {
    padding: 7px 12px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    min-width: auto !important;
    white-space: nowrap !important;
  }
  
  /* Row 5: Utility buttons at bottom */
  .comedy-utility-buttons {
    margin-top: auto !important;
    margin-bottom: 0 !important;
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    display: flex !important;
    gap: 5px !important;
    flex-wrap: wrap !important;
    max-width: calc(100% - 100px) !important;
    justify-content: flex-start !important;
  }
  
  .comedy-utility-btn {
    padding: 4px 7px !important;
    font-size: 8px !important;
    min-height: 22px !important;
    border-radius: 12px !important;
  }
  
  .comedy-parking-btn .comedy-utility-icon {
    width: 14px !important;
    height: 14px !important;
    font-size: 9px !important;
  }
  
  .comedy-restaurant-btn .comedy-utility-label {
    font-size: 8px !important;
  }
  
  .comedy-directions-text {
    display: inline !important;
    margin-left: 2px !important;
    font-size: 8px !important;
  }
  
  .comedy-location-marker {
    width: 10px !important;
    height: 12px !important;
  }
  
  /* MOBILE SEARCH FORM LAYOUT */
  .comedy-search-form {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 15px !important;
  }
  
  .comedy-search-wrapper {
    flex-basis: 100% !important;
    order: 1 !important;
  }
  
  .comedy-search-input {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  
  .comedy-search-button:not(.comedy-clear-btn) {
    order: 2 !important;
    flex-shrink: 0 !important;
    min-width: 70px !important;
    padding: 12px 16px !important;
    font-size: 12px !important;
  }
  
  .comedy-search-button.comedy-clear-btn {
    order: 3 !important;
    flex-shrink: 0 !important;
    min-width: 60px !important;
    padding: 12px 14px !important;
    font-size: 12px !important;
  }
  
  .comedy-date-wrapper {
    order: 4 !important;
    flex-shrink: 0 !important;
    min-width: 50px !important;
    max-width: 50px !important;
    margin-left: auto !important;
    position: relative !important;
  }
  
  .comedy-date-input {
    position: absolute !important;
    opacity: 0 !important;
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    cursor: pointer !important;
  }
  
  .comedy-date-wrapper::before {
    content: '📅' !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 50px !important;
    height: 48px !important;
    background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
    border: 2px solid var(--comedy-border-color) !important;
    border-radius: 8px !important;
    font-size: 20px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
    pointer-events: none !important;
  }
  
  .comedy-date-wrapper:hover::before {
    background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
    border-color: var(--comedy-primary) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 5px 15px var(--comedy-accent-glow) !important;
  }
  
  .comedy-search-button {
    height: 48px !important;
  }
  
  /* Popular Cities */
  .comedy-filter-buttons {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    margin-bottom: 20px !important;
  }
  
  .comedy-filter-buttons::before {
    grid-column: 1 / -1 !important;
    margin-bottom: 12px !important;
  }
  
  .comedy-filter-btn {
    padding: 12px 8px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-align: center !important;
    border-radius: 6px !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    box-sizing: border-box !important;
    flex: 1 !important;
  }
  
  .comedy-filter-btn[data-filter="all"] {
    font-size: 10px !important;
    padding: 10px 6px !important;
  }
  
  /* Pagination */
  .comedy-pagination {
    padding: 20px 15px !important;
    margin-top: 30px !important;
  }
  
  .comedy-pagination-buttons {
    gap: 8px !important;
  }
  
  .comedy-page-btn {
    min-width: 42px !important;
    height: 42px !important;
    font-size: 13px !important;
  }
  
  .comedy-pagination-info {
    font-size: 14px !important;
    margin-bottom: 20px !important;
  }
  
  .comedy-pagination-ellipsis {
    font-size: 18px !important;
    padding: 0 8px !important;
  }
}

@media (max-width: 480px) {
  /* Very small screens */
  .comedy-show-card {
    min-height: 110px !important;
    padding: 8px !important;
  }
  
  .comedy-show-image {
    width: 32% !important;
    min-height: 94px !important;
  }
  
  .comedy-show-content {
    width: 68% !important;
  }
  
  .comedy-show-title {
    font-size: 13px !important;
  }
  
  .comedy-venue-name {
    font-size: 11px !important;
  }
  
  .comedy-city-text {
    font-size: 10px !important;
  }
  
  .comedy-date,
  .comedy-time {
    font-size: 10px !important;
  }
  
  .comedy-ticket-btn {
    padding: 6px 10px !important;
    font-size: 9px !important;
  }
  
  .comedy-supply-limited-badge {
    padding: 2px 6px !important;
    font-size: 7px !important;
  }
  
  .comedy-utility-btn {
    padding: 3px 6px !important;
    font-size: 7px !important;
    min-height: 20px !important;
  }
  
  .comedy-utility-buttons {
    max-width: calc(100% - 90px) !important;
  }
  
  /* Popular Cities */
  .comedy-filter-buttons {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 6px !important;
  }
  
  .comedy-filter-btn {
    padding: 10px 4px !important;
    font-size: 10px !important;
    min-height: 42px !important;
  }
  
  .comedy-filter-btn[data-filter="all"] {
    font-size: 9px !important;
    padding: 8px 3px !important;
  }
  
  .comedy-pagination {
    padding: 15px 10px !important;
  }
  
  .comedy-page-btn {
    min-width: 38px !important;
    height: 38px !important;
    font-size: 12px !important;
  }
  
  .comedy-pagination-ellipsis {
    font-size: 16px !important;
    padding: 0 6px !important;
  }
}

/* HIGH DPI / RETINA DISPLAY OPTIMIZATIONS */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .comedy-show-image {
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-607b172 *//* ======================================
   COMEDIAN DIRECTORY - FINAL OPTIMIZED CSS
   Add this to Elementor Advanced Settings > Custom CSS
   ====================================== */

/* IMPORT BEBAS NEUE FONT */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

/* CSS VARIABLES FOR CONSISTENT THEMING */
:root {
  --comedian-primary: #f5a623;
  --comedian-primary-light: #ffb84d;
  --comedian-primary-dark: #d4941f;
  --comedian-secondary: #1a1a1a;
  --comedian-secondary-light: #2a2a2a;
  --comedian-accent-glow: rgba(245, 166, 35, 0.3);
  --comedian-accent-glow-intense: rgba(245, 166, 35, 0.5);
  --comedian-text-light: #ccc;
  --comedian-text-white: #fff;
  --comedian-border-color: #444;
  --comedian-hover-transform: translateY(-2px);
}

/* SEARCH SECTION - Gaming Style */
.comedian-directory-section .comedian-search-container {
  border-left: none !important;
  margin-bottom: 25px !important;
  padding: 0 !important;
}

.comedian-search-form {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  padding: 15px 20px !important;
  border-radius: 12px !important;
  border: 2px solid var(--comedian-border-color) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

.comedian-search-wrapper {
  flex: 1 !important;
  position: relative !important;
}

.comedian-search-input {
  width: 100% !important;
  padding: 12px 16px !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border: 2px solid var(--comedian-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedian-text-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

.comedian-search-input:focus {
  outline: none !important;
  border-color: var(--comedian-primary) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--comedian-accent-glow) !important;
  background: linear-gradient(135deg, #222 0%, #333 100%) !important;
}

.comedian-search-input::placeholder {
  color: #888 !important;
  font-style: italic !important;
}

/* Search Buttons */
.comedian-search-button {
  padding: 12px 20px !important;
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  border: 2px solid var(--comedian-primary) !important;
  border-radius: 8px !important;
  color: var(--comedian-secondary) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
  min-width: 80px !important;
}

.comedian-search-button:hover {
  background: linear-gradient(135deg, var(--comedian-primary-dark) 0%, var(--comedian-primary) 100%) !important;
  transform: var(--comedian-hover-transform) !important;
  box-shadow: 0 5px 15px var(--comedian-accent-glow) !important;
}

.comedian-search-button.comedian-clear-btn {
  background: linear-gradient(135deg, #444 0%, #555 100%) !important;
  border-color: #666 !important;
  color: var(--comedian-text-light) !important;
}

.comedian-search-button.comedian-clear-btn:hover {
  background: linear-gradient(135deg, #555 0%, #666 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-text-white) !important;
  box-shadow: 0 5px 15px rgba(245, 166, 35, 0.2) !important;
}

/* DESKTOP ALPHABETICAL FILTER SYSTEM */
.comedian-filter-buttons {
  margin-bottom: 20px !important;
  padding: 0 !important;
}

.comedian-alpha-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: flex-start !important;
  margin-bottom: 10px !important;
}

.comedian-alpha-row:last-child {
  margin-bottom: 20px !important;
}

.comedian-filter-btn {
  padding: 10px 16px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedian-border-color) !important;
  border-radius: 6px !important;
  color: var(--comedian-text-light) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
  text-transform: none !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
  min-width: 40px !important;
  text-align: center !important;
}

.comedian-filter-btn:hover,
.comedian-filter-btn.active {
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  transform: var(--comedian-hover-transform) !important;
  box-shadow: 0 4px 12px var(--comedian-accent-glow) !important;
}

.comedian-filter-btn[data-filter="all"] {
  background: linear-gradient(135deg, var(--comedian-primary-dark) 0%, var(--comedian-primary) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  font-weight: 700 !important;
  padding: 10px 14px !important;
}

/* Hide the # button - no comedians have numbers in names */
.comedian-filter-btn[data-letter="#"] {
  display: none !important;
}

/* MOBILE ALPHABET DROPDOWN */
.comedian-mobile-filter-dropdown {
  display: none !important;
  position: relative !important;
}

.comedian-mobile-filter-trigger {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 50px !important;
  height: 42px !important;
  background: linear-gradient(135deg, var(--comedian-primary-dark) 0%, var(--comedian-primary) 100%) !important;
  border: 2px solid var(--comedian-primary) !important;
  border-radius: 8px !important;
  color: var(--comedian-secondary) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
}

.comedian-mobile-filter-trigger:hover {
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 5px 15px var(--comedian-accent-glow) !important;
}

/* Mobile Dropdown Popup Overlay */
.comedian-filter-popup-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(0, 0, 0, 0.8) !important;
  z-index: 9999 !important;
  display: none;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  backdrop-filter: blur(5px) !important;
}

.comedian-filter-popup {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 25px !important;
  border: 2px solid var(--comedian-border-color) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
  max-width: 320px !important;
  width: 100% !important;
  max-height: 50vh !important;
  overflow-y: auto !important;
}

.comedian-filter-popup-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 20px !important;
}

.comedian-filter-popup-title {
  color: var(--comedian-primary) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 !important;
}

.comedian-filter-popup-close {
  background: none !important;
  border: none !important;
  color: #888 !important;
  font-size: 24px !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: color 0.3s ease !important;
}

.comedian-filter-popup-close:hover {
  color: var(--comedian-primary) !important;
}

.comedian-filter-popup-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
}

.comedian-filter-popup-btn {
  padding: 12px 8px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedian-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedian-text-light) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  text-align: center !important;
  min-height: 45px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.comedian-filter-popup-btn:hover,
.comedian-filter-popup-btn.active {
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  transform: scale(1.05) !important;
}

.comedian-filter-popup-btn[data-filter="all"] {
  grid-column: 1 / -1 !important;
  background: linear-gradient(135deg, var(--comedian-primary-dark) 0%, var(--comedian-primary) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  font-weight: 700 !important;
}

/* COMEDIAN GRID LAYOUT - 2 Column Horizontal Cards */
.comedian-roster-container {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px !important;
  margin: 20px 0 !important;
}

.comedian-card {
  position: relative !important;
  height: 150px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
  border: 2px solid transparent !important;
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  display: flex !important;
  align-items: stretch !important;
}

.comedian-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
  border-color: var(--comedian-primary-light) !important;
}

/* Comedian Image - Left Side (40% width) */
.comedian-image {
  width: 40% !important;
  height: 100% !important;
  flex-shrink: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
}

/* Proper image sizing and centering */
.comedian-photo {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

.comedian-placeholder {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #666 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

/* Card Content - Right Side (60% width) */
.comedian-content {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  padding: 20px 15px 15px 20px !important;
  position: relative !important;
  background: rgba(0, 0, 0, 0.1) !important;
}

.comedian-name {
  color: var(--comedian-secondary) !important;
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  margin: 0 0 12px 0 !important;
  line-height: 0.95 !important;
  text-shadow: none !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
  word-wrap: break-word !important;
  display: block !important;
  max-height: 65px !important;
  overflow: hidden !important;
}

/* Social Media Links - Below Name */
.comedian-links {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: auto !important;
}

.comedian-link-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  background: rgba(26, 26, 26, 0.95) !important;
  border: 2px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 50% !important;
  text-decoration: none !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  backdrop-filter: blur(3px) !important;
  text-shadow: none !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
}

.comedian-link-btn:hover {
  transform: scale(1.15) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5) !important;
}

/* Specific Social Media Button Colors - Vibrant Scheme */
.comedian-website-btn {
  background: linear-gradient(135deg, #4a90e2 0%, #357abd 100%) !important;
  border-color: #4a90e2 !important;
  color: #fff !important;
}

.comedian-website-btn:hover {
  background: linear-gradient(135deg, #357abd 0%, #2968a3 100%) !important;
  border-color: #357abd !important;
  color: #fff !important;
}

.comedian-facebook-btn {
  background: linear-gradient(135deg, #1877f2 0%, #166fe5 100%) !important;
  border-color: #1877f2 !important;
  color: #fff !important;
}

.comedian-facebook-btn:hover {
  background: linear-gradient(135deg, #166fe5 0%, #1464cc 100%) !important;
  border-color: #166fe5 !important;
  color: #fff !important;
}

.comedian-x-btn {
  background: linear-gradient(135deg, #000 0%, #1a1a1a 100%) !important;
  border-color: #333 !important;
  color: #fff !important;
}

.comedian-x-btn:hover {
  background: linear-gradient(135deg, #1a1a1a 0%, #333 100%) !important;
  border-color: #666 !important;
  color: #fff !important;
}

.comedian-instagram-btn {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
  border-color: #f09433 !important;
  color: #fff !important;
}

.comedian-instagram-btn:hover {
  background: linear-gradient(45deg, #e6683c 0%, #dc2743 25%, #cc2366 50%, #bc1888 75%, #a91b72 100%) !important;
  border-color: #e6683c !important;
  color: #fff !important;
}

.comedian-tiktok-btn {
  background: linear-gradient(135deg, #ff0050 0%, #e6004a 100%) !important;
  border-color: #ff0050 !important;
  color: #fff !important;
}

.comedian-tiktok-btn:hover {
  background: linear-gradient(135deg, #e6004a 0%, #cc0041 100%) !important;
  border-color: #e6004a !important;
  color: #fff !important;
}

.comedian-youtube-btn {
  background: linear-gradient(135deg, #ff0000 0%, #e60000 100%) !important;
  border-color: #ff0000 !important;
  color: #fff !important;
}

.comedian-youtube-btn:hover {
  background: linear-gradient(135deg, #e60000 0%, #cc0000 100%) !important;
  border-color: #e60000 !important;
  color: #fff !important;
}

.comedian-imdb-btn {
  background: linear-gradient(135deg, #f5c518 0%, #ddb216 100%) !important;
  border-color: #f5c518 !important;
  color: #000 !important;
}

.comedian-imdb-btn:hover {
  background: linear-gradient(135deg, #ddb216 0%, #c49f14 100%) !important;
  border-color: #ddb216 !important;
  color: #000 !important;
}

/* Icon and Label Styles */
.comedian-link-icon {
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.comedian-link-label {
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2px !important;
  line-height: 1 !important;
}

/* COMPREHENSIVE BIO TEXT ELIMINATION */
.comedian-bio,
.comedian-content p,
.comedian-content .bio,
.comedian-content .bio-text,
.comedian-content > div:not(.comedian-links),
.comedian-content > span:not(.comedian-name),
.comedian-card .description,
.comedian-card [class*="bio"],
.comedian-card [class*="desc"] {
  display: none !important;
}

/* Force hide any text content that's not the name or in links */
.comedian-content > *:not(.comedian-name):not(.comedian-links) {
  display: none !important;
}

/* PAGINATION STYLING */
.comedian-pagination-container {
  margin-top: 40px !important;
  margin-bottom: 30px !important;
}

.comedian-pagination {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 25px 35px !important;
  border: 2px solid var(--comedian-border-color) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.comedian-pagination-info {
  color: var(--comedian-text-light) !important;
  font-size: 15px !important;
  margin-bottom: 20px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
}

.comedian-pagination-buttons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.comedian-page-btn {
  min-width: 45px !important;
  height: 45px !important;
  padding: 0 15px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedian-border-color) !important;
  border-radius: 10px !important;
  color: var(--comedian-text-light) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.comedian-page-btn:hover,
.comedian-page-btn.active {
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  transform: var(--comedian-hover-transform) !important;
  box-shadow: 0 5px 15px var(--comedian-accent-glow) !important;
}

.comedian-pagination-ellipsis {
  color: #666 !important;
  font-size: 18px !important;
  font-weight: bold !important;
  padding: 0 10px !important;
  user-select: none !important;
  line-height: 1 !important;
}

/* LOADING AND NO RESULTS */
#comedian-loading {
  display: none !important;
}

.comedian-loading {
  display: none !important;
}

.comedian-no-results {
  text-align: center !important;
  padding: 50px 20px !important;
  color: #888 !important;
  font-size: 17px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  border-radius: 12px !important;
  border: 2px dashed var(--comedian-border-color) !important;
  margin: 20px 0 !important;
  font-weight: 500 !important;
}

/* MOBILE RESPONSIVENESS */
@media (max-width: 1200px) {
  .comedian-name {
    font-size: 28px !important;
  }
  
  .comedian-links {
    gap: 6px !important;
  }
  
  .comedian-link-btn {
    width: 32px !important;
    height: 32px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 768px) {
  /* MOBILE SEARCH FORM WITH DROPDOWN */
  .comedian-search-form {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 15px !important;
    align-items: flex-end !important;
  }
  
  /* Row 1: Search input - full width */
  .comedian-search-wrapper {
    flex-basis: 100% !important;
    order: 1 !important;
    margin-bottom: 8px !important;
  }
  
  .comedian-search-input {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Row 2: Three buttons in same row */
  .comedian-search-button:not(.comedian-clear-btn) {
    order: 2 !important;
    flex: 0 0 70px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    height: 42px !important;
  }
  
  .comedian-search-button.comedian-clear-btn {
    order: 3 !important;
    flex: 0 0 60px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    height: 42px !important;
  }
  
  .comedian-mobile-filter-dropdown {
    order: 4 !important;
    display: block !important;
    margin-left: auto !important;
  }
  
  /* HIDE DESKTOP FILTERS ON MOBILE */
  .comedian-filter-buttons {
    display: none !important;
  }
  
  /* MOBILE CARD ADJUSTMENTS */
  .comedian-roster-container {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }
  
  .comedian-card {
    height: 150px !important;
  }
  
  .comedian-content {
    padding: 18px 15px 15px 18px !important;
  }
  
  .comedian-name {
    font-size: 28px !important;
    margin-bottom: 15px !important;
  }
  
  .comedian-links {
    gap: 10px !important;
  }
  
  .comedian-link-btn {
    width: 40px !important;
    height: 40px !important;
    font-size: 16px !important;
  }
  
  .comedian-link-label {
    font-size: 9px !important;
  }
  
  /* Pagination mobile */
  .comedian-pagination {
    padding: 15px 10px !important;
    margin-top: 25px !important;
  }
  
  .comedian-pagination-buttons {
    gap: 6px !important;
  }
  
  .comedian-page-btn {
    min-width: 35px !important;
    height: 35px !important;
    font-size: 12px !important;
  }
  
  .comedian-pagination-info {
    font-size: 13px !important;
    margin-bottom: 15px !important;
  }
  
  .comedian-pagination-ellipsis {
    font-size: 16px !important;
    padding: 0 6px !important;
  }
}

@media (max-width: 480px) {
  .comedian-card {
    height: 140px !important;
  }
  
  .comedian-content {
    padding: 15px 12px 12px 15px !important;
  }
  
  .comedian-name {
    font-size: 24px !important;
    margin-bottom: 12px !important;
  }
  
  .comedian-links {
    gap: 8px !important;
  }
  
  .comedian-link-btn {
    width: 36px !important;
    height: 36px !important;
    font-size: 14px !important;
  }
  
  .comedian-link-label {
    font-size: 8px !important;
  }
  
  .comedian-mobile-filter-trigger {
    width: 45px !important;
    height: 42px !important;
    font-size: 16px !important;
  }
  
  .comedian-filter-popup {
    padding: 20px !important;
    max-width: 280px !important;
  }
  
  .comedian-filter-popup-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
  }
  
  .comedian-filter-popup-btn {
    padding: 12px 8px !important;
    font-size: 14px !important;
    min-height: 45px !important;
  }
  
  .comedian-pagination {
    padding: 12px 8px !important;
  }
  
  .comedian-page-btn {
    min-width: 30px !important;
    height: 30px !important;
    font-size: 11px !important;
  }
}

/* HIGH DPI / RETINA DISPLAY OPTIMIZATIONS */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .comedian-image[style*="background-image"] {
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-b1e7878 *//* ======================================
   VENUE DIRECTORY - COMPLETE GRID GAMING AESTHETIC CSS
   Add this to Elementor Advanced Settings > Custom CSS
   ====================================== */

/* CSS VARIABLES FOR CONSISTENT THEMING */
:root {
  --loc-primary: #f5a623;
  --loc-primary-light: #ffb84d;
  --loc-primary-dark: #d4941f;
  --loc-secondary: #1a1a1a;
  --loc-secondary-light: #2a2a2a;
  --loc-accent-glow: rgba(245, 166, 35, 0.3);
  --loc-accent-glow-intense: rgba(245, 166, 35, 0.5);
  --loc-text-light: #ccc;
  --loc-text-white: #fff;
  --loc-border-color: #444;
  --loc-hover-transform: translateY(-2px);
}

/* SEARCH SECTION - Gaming Style */
.loc-shows-section .loc-search-container {
  border-left: none !important;
  margin-bottom: 25px !important;
  padding: 0 !important;
}

.loc-search-form {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  padding: 15px 20px !important;
  border-radius: 12px !important;
  border: 2px solid var(--loc-border-color) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

.loc-search-wrapper {
  flex: 1 !important;
  position: relative !important;
}

.loc-search-input {
  width: 100% !important;
  padding: 12px 16px !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border: 2px solid var(--loc-border-color) !important;
  border-radius: 8px !important;
  color: var(--loc-text-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

.loc-search-input:focus {
  outline: none !important;
  border-color: var(--loc-primary) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--loc-accent-glow) !important;
  background: linear-gradient(135deg, #222 0%, #333 100%) !important;
}

.loc-search-input::placeholder {
  color: #888 !important;
  font-style: italic !important;
}

/* Search Buttons */
.loc-search-button {
  padding: 12px 20px !important;
  background: linear-gradient(135deg, var(--loc-primary) 0%, var(--loc-primary-light) 100%) !important;
  border: 2px solid var(--loc-primary) !important;
  border-radius: 8px !important;
  color: var(--loc-secondary) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
  min-width: 80px !important;
}

.loc-search-button:hover {
  background: linear-gradient(135deg, var(--loc-primary-dark) 0%, var(--loc-primary) 100%) !important;
  transform: var(--loc-hover-transform) !important;
  box-shadow: 0 5px 15px var(--loc-accent-glow) !important;
}

.loc-search-button.loc-clear-btn {
  background: linear-gradient(135deg, #444 0%, #555 100%) !important;
  border-color: #666 !important;
  color: var(--loc-text-light) !important;
}

.loc-search-button.loc-clear-btn:hover {
  background: linear-gradient(135deg, #555 0%, #666 100%) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-text-white) !important;
  box-shadow: 0 5px 15px rgba(245, 166, 35, 0.2) !important;
}

/* POPULAR CITIES FILTER */
.loc-filter-buttons {
  margin-bottom: 20px !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: flex-start !important;
}

.loc-filter-section-title {
  color: var(--loc-primary) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  display: block !important;
  margin-bottom: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.loc-filter-buttons::before {
  content: "Popular Cities" !important;
  display: block !important;
  color: var(--loc-primary) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  margin-bottom: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  width: 100% !important;
}

.loc-filter-btn {
  padding: 12px 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--loc-border-color) !important;
  border-radius: 8px !important;
  color: var(--loc-text-light) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
  text-transform: none !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
}

.loc-filter-btn:hover,
.loc-filter-btn.active {
  background: linear-gradient(135deg, var(--loc-primary) 0%, var(--loc-primary-light) 100%) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  transform: var(--loc-hover-transform) !important;
  box-shadow: 0 5px 15px var(--loc-accent-glow) !important;
}

.loc-filter-btn[data-filter="all"] {
  background: linear-gradient(135deg, var(--loc-primary-dark) 0%, var(--loc-primary) 100%) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  font-weight: 700 !important;
}

/* REMOVE ALPHABETICAL FILTERS AND DUPLICATE SECTIONS */
.loc-alpha-filters,
.loc-alphabetical-filters,
[class*="alpha"],
[class*="alphabet"] {
  display: none !important;
}

/* Hide the duplicate section that contains alphabet letters - KEEP THE CITIES SECTION */
#primary > div > div > div > div > div > div > div > div > div:nth-child(3) {
  display: none !important;
}

/* VENUE GRID LAYOUT - 3 Column Grid System */
.loc-shows-container {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  margin: 20px 0 !important;
}

.loc-show-card {
  position: relative !important;
  height: 280px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
  border: 2px solid transparent !important;
}

.loc-show-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
  border-color: var(--loc-primary) !important;
}

/* Card Background Image */
.loc-show-image {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  z-index: 1 !important;
}

.loc-show-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.venue-placeholder {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #666 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

/* Card Overlay Gradient */
.loc-show-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.7) 100%) !important;
  z-index: 2 !important;
}

/* Card Content Overlay */
.loc-show-content {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 20px !important;
  z-index: 3 !important;
  background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.6) 70%, transparent 100%) !important;
}

.loc-show-title {
  color: var(--loc-text-white) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.3 !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8) !important;
}

.loc-city-text {
  color: var(--loc-text-light) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  margin: 0 0 15px 0 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8) !important;
}

/* Footer Utilities - All Four Buttons Consistently Sized */
.loc-venue-utilities {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

.loc-utility-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 10px !important;
  background: rgba(42, 42, 42, 0.9) !important;
  border: 1px solid rgba(245, 166, 35, 0.5) !important;
  border-radius: 15px !important;
  text-decoration: none !important;
  color: var(--loc-primary) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  backdrop-filter: blur(5px) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8) !important;
  min-height: 28px !important;
  box-sizing: border-box !important;
}

.loc-utility-btn:hover {
  background: var(--loc-primary) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px var(--loc-accent-glow) !important;
  text-shadow: none !important;
}

/* Parking Button */
.loc-parking-btn .loc-utility-icon {
  background: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 3px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 800 !important;
  font-size: 10px !important;
}

.loc-parking-btn:hover .loc-utility-icon {
  background: var(--loc-secondary) !important;
  color: var(--loc-primary) !important;
}

/* Restaurant Button */
.loc-restaurant-btn .loc-utility-label {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* Directions Button with Location Marker Icon */
.loc-directions-btn {
  gap: 4px !important;
}

.loc-location-marker {
  display: inline-block !important;
  width: 12px !important;
  height: 16px !important;
  position: relative !important;
}

.loc-location-marker::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 12px !important;
  height: 12px !important;
  background: currentColor !important;
  border-radius: 50% 50% 50% 0 !important;
  transform: rotate(-45deg) !important;
}

.loc-location-marker::after {
  content: '' !important;
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 6px !important;
  height: 6px !important;
  background: var(--loc-secondary) !important;
  border-radius: 50% !important;
  transform: rotate(45deg) !important;
}

.loc-directions-btn:hover .loc-location-marker::after {
  background: var(--loc-primary) !important;
}

.loc-directions-btn .loc-directions-text {
  display: none !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* Venue Info Button */
.loc-venue-info-btn {
  opacity: 0.8 !important;
}

.loc-venue-info-btn:hover {
  opacity: 1 !important;
}

.loc-venue-info-btn .loc-utility-label {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* PAGINATION STYLING - Enhanced for Desktop */
.loc-pagination-container {
  margin-top: 50px !important;
  margin-bottom: 30px !important;
}

.loc-pagination {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 30px 40px !important;
  border: 2px solid var(--loc-border-color) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.loc-pagination-info {
  color: var(--loc-text-light) !important;
  font-size: 16px !important;
  margin-bottom: 25px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
}

.loc-pagination-buttons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.loc-page-btn {
  min-width: 50px !important;
  height: 50px !important;
  padding: 0 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--loc-border-color) !important;
  border-radius: 12px !important;
  color: var(--loc-text-light) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.loc-page-btn:hover,
.loc-page-btn.active {
  background: linear-gradient(135deg, var(--loc-primary) 0%, var(--loc-primary-light) 100%) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  transform: var(--loc-hover-transform) !important;
  box-shadow: 0 6px 18px var(--loc-accent-glow) !important;
}

.loc-pagination-ellipsis {
  color: #666 !important;
  font-size: 20px !important;
  font-weight: bold !important;
  padding: 0 12px !important;
  user-select: none !important;
  line-height: 1 !important;
}

/* REMOVE LOADING SPINNER */
#venue-loading {
  display: none !important;
}

.loc-loading {
  display: none !important;
}

/* NO RESULTS STYLING */
.shows-no-results {
  text-align: center !important;
  padding: 60px 20px !important;
  color: #888 !important;
  font-size: 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  border-radius: 12px !important;
  border: 2px dashed var(--loc-border-color) !important;
  margin: 20px 0 !important;
  font-weight: 500 !important;
}

/* MOBILE RESPONSIVENESS */
@media (max-width: 1200px) {
  .loc-shows-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  
  /* Adjust pagination for tablet */
  .loc-pagination {
    padding: 25px 30px !important;
  }
  
  .loc-page-btn {
    min-width: 45px !important;
    height: 45px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 768px) {
  /* Search form mobile */
  .loc-search-form {
    flex-direction: column !important;
    gap: 12px !important;
    padding: 15px !important;
  }
  
  .loc-search-wrapper {
    width: 100% !important;
  }
  
  .loc-search-button {
    width: 100% !important;
    justify-content: center !important;
  }
  
  /* Grid becomes 2 columns on mobile */
  .loc-shows-container {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px !important;
  }
  
  .loc-show-card {
    height: 220px !important;
  }
  
  /* FIXED: Popular Cities Mobile 4-Column Grid Layout */
  .loc-filter-buttons {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    margin-bottom: 20px !important;
  }
  
  .loc-filter-buttons::before {
    grid-column: 1 / -1 !important;
    margin-bottom: 12px !important;
  }
  
  .loc-filter-btn {
    padding: 12px 8px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-align: center !important;
    border-radius: 6px !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    box-sizing: border-box !important;
    flex: 1 !important;
  }
  
  /* Ensure "All Venues" button fits properly */
  .loc-filter-btn[data-filter="all"] {
    font-size: 10px !important;
    padding: 10px 6px !important;
  }
  
  /* Card content mobile adjustments */
  .loc-show-content {
    padding: 15px !important;
  }
  
  .loc-show-title {
    font-size: 16px !important;
  }
  
  .loc-city-text {
    font-size: 13px !important;
    margin-bottom: 12px !important;
  }
  
  .loc-utility-btn {
    padding: 5px 8px !important;
    font-size: 10px !important;
    min-height: 26px !important;
  }
  
  /* Mobile: Show "Get Directions" text */
  .loc-directions-btn .loc-directions-text {
    display: inline !important;
    margin-left: 2px !important;
  }
  
  /* Pagination mobile */
  .loc-pagination {
    padding: 20px 15px !important;
    margin-top: 30px !important;
  }
  
  .loc-pagination-buttons {
    gap: 8px !important;
  }
  
  .loc-page-btn {
    min-width: 42px !important;
    height: 42px !important;
    font-size: 13px !important;
  }
  
  .loc-pagination-info {
    font-size: 14px !important;
    margin-bottom: 20px !important;
  }
  
  .loc-pagination-ellipsis {
    font-size: 18px !important;
    padding: 0 8px !important;
  }
}

@media (max-width: 480px) {
  /* Very small screens - single column */
  .loc-shows-container {
    grid-template-columns: 1fr !important;
  }
  
  .loc-show-card {
    height: 200px !important;
  }
  
  /* FIXED: Popular Cities for Very Small Screens - Keep 4x2 Layout */
  .loc-filter-buttons {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 6px !important;
    width: 100% !important;
  }
  
  .loc-filter-buttons::before {
    grid-column: 1 / -1 !important;
    margin-bottom: 10px !important;
  }
  
  .loc-filter-btn {
    padding: 10px 4px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-align: center !important;
    border-radius: 5px !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.1 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    box-sizing: border-box !important;
    flex: 1 !important;
  }
  
  /* Extra small text for "All Venues" on very small screens */
  .loc-filter-btn[data-filter="all"] {
    font-size: 9px !important;
    padding: 8px 3px !important;
  }
  
  .loc-show-title {
    font-size: 15px !important;
  }
  
  .loc-city-text {
    font-size: 12px !important;
  }
  
  .loc-utility-btn {
    padding: 4px 6px !important;
    font-size: 9px !important;
    min-height: 24px !important;
  }
  
  .loc-pagination {
    padding: 15px 10px !important;
  }
  
  .loc-page-btn {
    min-width: 38px !important;
    height: 38px !important;
    font-size: 12px !important;
  }
  
  .loc-pagination-ellipsis {
    font-size: 16px !important;
    padding: 0 6px !important;
  }
}

/* HIGH DPI / RETINA DISPLAY OPTIMIZATIONS */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .loc-show-image img {
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-03aef5c *//* ======================================
   COMEDY SHOWS DIRECTORY - COMPLETE GAMING AESTHETIC CSS
   Desktop layout improvements with zero PHP changes required
   ====================================== */

/* CSS VARIABLES FOR CONSISTENT THEMING */
:root {
  --comedy-primary: #f5a623;
  --comedy-primary-light: #ffb84d;
  --comedy-primary-dark: #d4941f;
  --comedy-secondary: #1a1a1a;
  --comedy-secondary-light: #2a2a2a;
  --comedy-accent-glow: rgba(245, 166, 35, 0.3);
  --comedy-accent-glow-intense: rgba(245, 166, 35, 0.5);
  --comedy-text-light: #ccc;
  --comedy-text-white: #fff;
  --comedy-border-color: #444;
  --comedy-hover-transform: translateY(-2px);
  --comedy-warning-red: #ff4444;
  --comedy-warning-red-glow: rgba(255, 68, 68, 0.4);
}

/* SEARCH SECTION - Gaming Style */
.comedy-shows-section .comedy-search-container {
  border-left: none !important;
  margin-bottom: 25px !important;
  padding: 0 !important;
}

.comedy-search-form {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  padding: 15px 20px !important;
  border-radius: 12px !important;
  border: 2px solid var(--comedy-border-color) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

.comedy-search-wrapper {
  flex: 1 !important;
  position: relative !important;
}

.comedy-search-input {
  width: 100% !important;
  padding: 12px 16px !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border: 2px solid var(--comedy-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedy-text-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

.comedy-search-input:focus {
  outline: none !important;
  border-color: var(--comedy-primary) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--comedy-accent-glow) !important;
  background: linear-gradient(135deg, #222 0%, #333 100%) !important;
}

.comedy-search-input::placeholder {
  color: #888 !important;
  font-style: italic !important;
}

.comedy-date-wrapper {
  min-width: 150px !important;
}

.comedy-date-input {
  padding: 12px 16px !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border: 2px solid var(--comedy-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedy-text-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

.comedy-date-input:focus {
  outline: none !important;
  border-color: var(--comedy-primary) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--comedy-accent-glow) !important;
  background: linear-gradient(135deg, #222 0%, #333 100%) !important;
}

/* Search Buttons */
.comedy-search-button {
  padding: 12px 20px !important;
  background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
  border: 2px solid var(--comedy-primary) !important;
  border-radius: 8px !important;
  color: var(--comedy-secondary) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
  min-width: 80px !important;
}

.comedy-search-button:hover {
  background: linear-gradient(135deg, var(--comedy-primary-dark) 0%, var(--comedy-primary) 100%) !important;
  transform: var(--comedy-hover-transform) !important;
  box-shadow: 0 5px 15px var(--comedy-accent-glow) !important;
}

.comedy-search-button.comedy-clear-btn {
  background: linear-gradient(135deg, #444 0%, #555 100%) !important;
  border-color: #666 !important;
  color: var(--comedy-text-light) !important;
}

.comedy-search-button.comedy-clear-btn:hover {
  background: linear-gradient(135deg, #555 0%, #666 100%) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-text-white) !important;
  box-shadow: 0 5px 15px rgba(245, 166, 35, 0.2) !important;
}

/* HIDE LOCATION STATUS COMPLETELY */
.comedy-location-status {
  display: none !important;
}

/* POPULAR CITIES FILTER */
.comedy-filter-buttons {
  margin-bottom: 20px !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: flex-start !important;
}

.comedy-filter-buttons::before {
  content: "Popular Cities" !important;
  display: block !important;
  color: var(--comedy-primary) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  margin-bottom: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  width: 100% !important;
}

.comedy-filter-btn {
  padding: 12px 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedy-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedy-text-light) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
  text-transform: none !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
}

.comedy-filter-btn:hover,
.comedy-filter-btn.active {
  background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  transform: var(--comedy-hover-transform) !important;
  box-shadow: 0 5px 15px var(--comedy-accent-glow) !important;
}

.comedy-filter-btn[data-filter="all"] {
  background: linear-gradient(135deg, var(--comedy-primary-dark) 0%, var(--comedy-primary) 100%) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  font-weight: 700 !important;
}

/* DESKTOP: HORIZONTAL LIST LAYOUT */
.comedy-shows-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  margin: 20px 0 !important;
}

.comedy-show-card {
  display: flex !important;
  position: relative !important;
  min-height: 110px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
  border: 2px solid transparent !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
}

.comedy-show-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
  border-color: var(--comedy-primary) !important;
}

.comedy-show-card:hover .comedy-show-image {
  box-shadow: 0 0 20px var(--comedy-accent-glow-intense) !important;
}

/* Left: Card Background Image - 16:9 ratio */
.comedy-show-image {
  width: 160px !important;
  height: 90px !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-color: var(--comedy-secondary-light) !important;
  position: relative !important;
  flex-shrink: 0 !important;
  border: 2px solid var(--comedy-primary) !important;
  box-shadow: 0 0 8px rgba(245, 166, 35, 0.2) !important;
  border-radius: 8px !important;
  margin: 10px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  align-self: center !important;
}

.comedy-image-placeholder {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #666 !important;
  font-size: 36px !important;
  font-weight: 600 !important;
}

/* Price Tag */
.comedy-price-tag {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  background: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  padding: 4px 8px !important;
  border-radius: 4px !important;
  font-weight: bold !important;
  font-size: 11px !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3) !important;
  z-index: 10 !important;
}

/* Supply Limited Badge - Desktop */
.comedy-supply-limited-badge {
  background: linear-gradient(135deg, var(--comedy-warning-red) 0%, #ff6666 100%) !important;
  color: var(--comedy-text-white) !important;
  padding: 8px 16px !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  text-align: center !important;
  box-shadow: 0 4px 12px var(--comedy-warning-red-glow) !important;
  border: 2px solid var(--comedy-warning-red) !important;
  margin-bottom: 12px !important;
  animation: pulse-warning 2s ease-in-out infinite !important;
  white-space: nowrap !important;
}

@keyframes pulse-warning {
  0%, 100% {
    box-shadow: 0 4px 12px var(--comedy-warning-red-glow) !important;
  }
  50% {
    box-shadow: 0 4px 20px rgba(255, 68, 68, 0.6) !important;
  }
}

/* DESKTOP ONLY: Improved layout with CSS repositioning */
@media (min-width: 769px) {
  
  .comedy-show-card {
    display: grid !important;
    grid-template-columns: 180px 1fr 160px 180px !important;
    grid-template-areas: "image content datetime ticket" !important;
    align-items: center !important;
    gap: 0 !important;
    position: relative !important;
  }
  
  .comedy-show-image {
    grid-area: image !important;
    margin: 10px !important;
  }
  
  .comedy-show-content {
    grid-area: content !important;
    padding: 15px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }
  
  /* Move datetime to its own visual section */
  .comedy-show-content .comedy-datetime {
    position: absolute !important;
    right: 200px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: linear-gradient(135deg, rgba(245, 166, 35, 0.1) 0%, rgba(245, 166, 35, 0.05) 100%) !important;
    border-left: 1px solid rgba(245, 166, 35, 0.2) !important;
    border-right: 1px solid rgba(245, 166, 35, 0.2) !important;
    padding: 15px 20px !important;
    text-align: center !important;
    min-width: 120px !important;
    margin: 0 !important;
  }
  
  .comedy-show-content .comedy-date {
    font-weight: 700 !important;
    color: var(--comedy-primary) !important;
    font-size: 16px !important;
    margin: 0 0 4px 0 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
  }
  
  .comedy-show-content .comedy-time {
    color: var(--comedy-text-white) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    margin: 0 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
  }
  
  /* Horizontal utility buttons between content and datetime */
  .comedy-show-content .comedy-utility-buttons {
    position: absolute !important;
    right: 360px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 0 !important;
    align-items: flex-start !important;
  }
  
  .comedy-utility-btn {
  padding: 4px 8px !important;
  border-radius: 8px !important;
  font-size: 8px !important;
  min-height: 20px !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Make parking button match the natural width of the text buttons */
.comedy-parking-btn {
  min-width: 97px !important;
}
  
  .comedy-restaurant-btn .comedy-utility-label {
    font-size: 7px !important;
  }
  
  .comedy-directions-text {
    font-size: 7px !important;
  }
  
  .comedy-location-marker {
    width: 8px !important;
    height: 10px !important;
  }
  
  .comedy-ticket-section {
    grid-area: ticket !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 15px 20px !important;
    position: relative !important;
  }
}

/* Center: Show Content - streamlined info only */
.comedy-show-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.comedy-show-title {
  color: var(--comedy-text-white) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}

.comedy-venue-info {
  margin: 0 !important;
}

.comedy-venue-name {
  color: var(--comedy-primary) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  margin: 0 0 2px 0 !important;
}

.comedy-city-text {
  color: var(--comedy-text-light) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* Right: Ticket Section */
.comedy-ticket-section {
  display: flex !important;
  align-items: center !important;
  padding: 15px 20px !important;
  flex-shrink: 0 !important;
}

.comedy-ticket-btn {
  background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
  color: var(--comedy-secondary) !important;
  text-decoration: none !important;
  padding: 12px 20px !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  border: 2px solid var(--comedy-primary) !important;
}

.comedy-ticket-btn:hover {
  background: linear-gradient(135deg, var(--comedy-primary-dark) 0%, var(--comedy-primary) 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px var(--comedy-accent-glow) !important;
  color: var(--comedy-secondary) !important;
  text-decoration: none !important;
}

/* Utility Buttons */
.comedy-utility-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: 8px !important;
}

.comedy-utility-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 10px !important;
  background: rgba(42, 42, 42, 0.9) !important;
  border: 1px solid rgba(245, 166, 35, 0.5) !important;
  border-radius: 15px !important;
  text-decoration: none !important;
  color: var(--comedy-primary) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  backdrop-filter: blur(5px) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8) !important;
  min-height: 28px !important;
  box-sizing: border-box !important;
}

.comedy-utility-btn:hover {
  background: var(--comedy-primary) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px var(--comedy-accent-glow) !important;
  text-shadow: none !important;
  text-decoration: none !important;
}

/* Parking Button */
.comedy-parking-btn .comedy-utility-icon {
  background: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 3px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 800 !important;
  font-size: 10px !important;
}

.comedy-parking-btn:hover .comedy-utility-icon {
  background: var(--comedy-secondary) !important;
  color: var(--comedy-primary) !important;
}

/* Restaurant Button */
.comedy-restaurant-btn .comedy-utility-label {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* Directions Button with Location Marker Icon */
.comedy-directions-btn {
  gap: 4px !important;
}

.comedy-location-marker {
  display: inline-block !important;
  width: 12px !important;
  height: 16px !important;
  position: relative !important;
}

.comedy-location-marker::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 12px !important;
  height: 12px !important;
  background: currentColor !important;
  border-radius: 50% 50% 50% 0 !important;
  transform: rotate(-45deg) !important;
}

.comedy-location-marker::after {
  content: '' !important;
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 6px !important;
  height: 6px !important;
  background: var(--comedy-secondary) !important;
  border-radius: 50% !important;
  transform: rotate(45deg) !important;
}

.comedy-directions-btn:hover .comedy-location-marker::after {
  background: var(--comedy-primary) !important;
}

.comedy-directions-text {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* PAGINATION STYLING - Enhanced for Desktop */
.comedy-pagination-container {
  margin-top: 50px !important;
  margin-bottom: 30px !important;
}

.comedy-pagination {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 30px 40px !important;
  border: 2px solid var(--comedy-border-color) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.comedy-pagination-info {
  color: var(--comedy-text-light) !important;
  font-size: 16px !important;
  margin-bottom: 25px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
}

.comedy-pagination-buttons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.comedy-page-btn {
  min-width: 50px !important;
  height: 50px !important;
  padding: 0 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedy-border-color) !important;
  border-radius: 12px !important;
  color: var(--comedy-text-light) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.comedy-page-btn:hover,
.comedy-page-btn.active {
  background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
  border-color: var(--comedy-primary) !important;
  color: var(--comedy-secondary) !important;
  transform: var(--comedy-hover-transform) !important;
  box-shadow: 0 6px 18px var(--comedy-accent-glow) !important;
}

.comedy-pagination-ellipsis {
  color: #666 !important;
  font-size: 20px !important;
  font-weight: bold !important;
  padding: 0 12px !important;
  user-select: none !important;
  line-height: 1 !important;
}

/* REMOVE LOADING SPINNER */
#show-loading {
  display: none !important;
}

.comedy-loading {
  display: none !important;
}

/* NO RESULTS STYLING */
.comedy-no-results {
  text-align: center !important;
  padding: 60px 20px !important;
  color: #888 !important;
  font-size: 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  border-radius: 12px !important;
  border: 2px dashed var(--comedy-border-color) !important;
  margin: 20px 0 !important;
  font-weight: 500 !important;
}

/* MOBILE RESPONSIVENESS - CLEAN HORIZONTAL LAYOUT */
@media (max-width: 768px) {
  /* Mobile: Clean Horizontal Card Layout */
  .comedy-shows-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  
  .comedy-show-card {
    display: flex !important;
    flex-direction: row !important;
    height: auto !important;
    min-height: 120px !important;
    position: relative !important;
    background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
    padding: 10px !important;
    gap: 12px !important;
  }
  
  /* Remove gradient overlay */
  .comedy-show-card::before {
    display: none !important;
  }
  
  /* LEFT: Image (35%) */
  .comedy-show-image {
    width: 35% !important;
    height: auto !important;
    min-height: 100px !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    z-index: 1 !important;
    border: 2px solid var(--comedy-primary) !important;
    margin: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 0 8px rgba(245, 166, 35, 0.2) !important;
    flex-shrink: 0 !important;
  }
  
  /* Price tag on image */
  .comedy-price-tag {
    position: absolute !important;
    top: 6px !important;
    right: 6px !important;
    z-index: 5 !important;
    background: var(--comedy-primary) !important;
    color: var(--comedy-secondary) !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
    font-weight: bold !important;
    font-size: 10px !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3) !important;
  }
  
  /* RIGHT: Content area (65%) */
  .comedy-show-content {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    width: 65% !important;
    padding: 0 !important;
    z-index: 1 !important;
    background: none !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    gap: 6px !important;
  }
  
  /* Row 1: Show Title */
  .comedy-show-info {
    gap: 3px !important;
    margin-bottom: 0 !important;
  }
  
  .comedy-show-title {
    color: var(--comedy-text-white) !important;
    text-shadow: none !important;
    font-size: 14px !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  
  /* Row 2: Venue Name */
  .comedy-venue-name {
    color: var(--comedy-primary) !important;
    text-shadow: none !important;
    font-size: 12px !important;
    margin: 0 !important;
    font-weight: 600 !important;
  }
  
  /* Row 3: City */
  .comedy-city-text {
    color: var(--comedy-text-light) !important;
    text-shadow: none !important;
    font-size: 11px !important;
    font-weight: 500 !important;
  }
  
  /* Row 4: Date/Time + Buy Tickets Button (same row) */
  .comedy-datetime {
    margin: 0 !important;
    position: relative !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    text-align: left !important;
    min-width: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
  }
  
  .comedy-date {
    font-size: 11px !important;
    text-shadow: none !important;
    color: var(--comedy-primary) !important;
    font-weight: 600 !important;
    margin: 0 !important;
  }
  
  .comedy-time {
    font-size: 11px !important;
    text-shadow: none !important;
    color: var(--comedy-text-white) !important;
    font-weight: 500 !important;
    margin: 0 !important;
  }
  
  .comedy-time::before {
    content: '•' !important;
    margin: 0 4px !important;
    color: var(--comedy-text-light) !important;
  }
  
  /* Ticket Section on same row as date/time */
  .comedy-ticket-section {
    position: absolute !important;
    bottom: 10px !important;
    right: 10px !important;
    top: auto !important;
    left: auto !important;
    z-index: 2 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 4px !important;
  }
  
  /* Supply Limited Badge */
  .comedy-supply-limited-badge {
    padding: 3px 8px !important;
    font-size: 8px !important;
    margin-bottom: 0 !important;
    animation: pulse-warning 2s ease-in-out infinite !important;
  }
  
  .comedy-ticket-btn {
    padding: 7px 12px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    min-width: auto !important;
    white-space: nowrap !important;
  }
  
  /* Row 5: Utility buttons at bottom */
  .comedy-utility-buttons {
    margin-top: auto !important;
    margin-bottom: 0 !important;
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    display: flex !important;
    gap: 5px !important;
    flex-wrap: wrap !important;
    max-width: calc(100% - 100px) !important;
    justify-content: flex-start !important;
  }
  
  .comedy-utility-btn {
    padding: 4px 7px !important;
    font-size: 8px !important;
    min-height: 22px !important;
    border-radius: 12px !important;
  }
  
  .comedy-parking-btn .comedy-utility-icon {
    width: 14px !important;
    height: 14px !important;
    font-size: 9px !important;
  }
  
  .comedy-restaurant-btn .comedy-utility-label {
    font-size: 8px !important;
  }
  
  .comedy-directions-text {
    display: inline !important;
    margin-left: 2px !important;
    font-size: 8px !important;
  }
  
  .comedy-location-marker {
    width: 10px !important;
    height: 12px !important;
  }
  
  /* MOBILE SEARCH FORM LAYOUT */
  .comedy-search-form {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 15px !important;
  }
  
  .comedy-search-wrapper {
    flex-basis: 100% !important;
    order: 1 !important;
  }
  
  .comedy-search-input {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  
  .comedy-search-button:not(.comedy-clear-btn) {
    order: 2 !important;
    flex-shrink: 0 !important;
    min-width: 70px !important;
    padding: 12px 16px !important;
    font-size: 12px !important;
  }
  
  .comedy-search-button.comedy-clear-btn {
    order: 3 !important;
    flex-shrink: 0 !important;
    min-width: 60px !important;
    padding: 12px 14px !important;
    font-size: 12px !important;
  }
  
  .comedy-date-wrapper {
    order: 4 !important;
    flex-shrink: 0 !important;
    min-width: 50px !important;
    max-width: 50px !important;
    margin-left: auto !important;
    position: relative !important;
  }
  
  .comedy-date-input {
    position: absolute !important;
    opacity: 0 !important;
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    cursor: pointer !important;
  }
  
  .comedy-date-wrapper::before {
    content: '📅' !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 50px !important;
    height: 48px !important;
    background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
    border: 2px solid var(--comedy-border-color) !important;
    border-radius: 8px !important;
    font-size: 20px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
    pointer-events: none !important;
  }
  
  .comedy-date-wrapper:hover::before {
    background: linear-gradient(135deg, var(--comedy-primary) 0%, var(--comedy-primary-light) 100%) !important;
    border-color: var(--comedy-primary) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 5px 15px var(--comedy-accent-glow) !important;
  }
  
  .comedy-search-button {
    height: 48px !important;
  }
  
  /* Popular Cities */
  .comedy-filter-buttons {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    margin-bottom: 20px !important;
  }
  
  .comedy-filter-buttons::before {
    grid-column: 1 / -1 !important;
    margin-bottom: 12px !important;
  }
  
  .comedy-filter-btn {
    padding: 12px 8px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-align: center !important;
    border-radius: 6px !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    box-sizing: border-box !important;
    flex: 1 !important;
  }
  
  .comedy-filter-btn[data-filter="all"] {
    font-size: 10px !important;
    padding: 10px 6px !important;
  }
  
  /* Pagination */
  .comedy-pagination {
    padding: 20px 15px !important;
    margin-top: 30px !important;
  }
  
  .comedy-pagination-buttons {
    gap: 8px !important;
  }
  
  .comedy-page-btn {
    min-width: 42px !important;
    height: 42px !important;
    font-size: 13px !important;
  }
  
  .comedy-pagination-info {
    font-size: 14px !important;
    margin-bottom: 20px !important;
  }
  
  .comedy-pagination-ellipsis {
    font-size: 18px !important;
    padding: 0 8px !important;
  }
}

@media (max-width: 480px) {
  /* Very small screens */
  .comedy-show-card {
    min-height: 110px !important;
    padding: 8px !important;
  }
  
  .comedy-show-image {
    width: 32% !important;
    min-height: 94px !important;
  }
  
  .comedy-show-content {
    width: 68% !important;
  }
  
  .comedy-show-title {
    font-size: 13px !important;
  }
  
  .comedy-venue-name {
    font-size: 11px !important;
  }
  
  .comedy-city-text {
    font-size: 10px !important;
  }
  
  .comedy-date,
  .comedy-time {
    font-size: 10px !important;
  }
  
  .comedy-ticket-btn {
    padding: 6px 10px !important;
    font-size: 9px !important;
  }
  
  .comedy-supply-limited-badge {
    padding: 2px 6px !important;
    font-size: 7px !important;
  }
  
  .comedy-utility-btn {
    padding: 3px 6px !important;
    font-size: 7px !important;
    min-height: 20px !important;
  }
  
  .comedy-utility-buttons {
    max-width: calc(100% - 90px) !important;
  }
  
  /* Popular Cities */
  .comedy-filter-buttons {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 6px !important;
  }
  
  .comedy-filter-btn {
    padding: 10px 4px !important;
    font-size: 10px !important;
    min-height: 42px !important;
  }
  
  .comedy-filter-btn[data-filter="all"] {
    font-size: 9px !important;
    padding: 8px 3px !important;
  }
  
  .comedy-pagination {
    padding: 15px 10px !important;
  }
  
  .comedy-page-btn {
    min-width: 38px !important;
    height: 38px !important;
    font-size: 12px !important;
  }
  
  .comedy-pagination-ellipsis {
    font-size: 16px !important;
    padding: 0 6px !important;
  }
}

/* HIGH DPI / RETINA DISPLAY OPTIMIZATIONS */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .comedy-show-image {
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-607b172 *//* ======================================
   COMEDIAN DIRECTORY - FINAL OPTIMIZED CSS
   Add this to Elementor Advanced Settings > Custom CSS
   ====================================== */

/* IMPORT BEBAS NEUE FONT */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

/* CSS VARIABLES FOR CONSISTENT THEMING */
:root {
  --comedian-primary: #f5a623;
  --comedian-primary-light: #ffb84d;
  --comedian-primary-dark: #d4941f;
  --comedian-secondary: #1a1a1a;
  --comedian-secondary-light: #2a2a2a;
  --comedian-accent-glow: rgba(245, 166, 35, 0.3);
  --comedian-accent-glow-intense: rgba(245, 166, 35, 0.5);
  --comedian-text-light: #ccc;
  --comedian-text-white: #fff;
  --comedian-border-color: #444;
  --comedian-hover-transform: translateY(-2px);
}

/* SEARCH SECTION - Gaming Style */
.comedian-directory-section .comedian-search-container {
  border-left: none !important;
  margin-bottom: 25px !important;
  padding: 0 !important;
}

.comedian-search-form {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  padding: 15px 20px !important;
  border-radius: 12px !important;
  border: 2px solid var(--comedian-border-color) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

.comedian-search-wrapper {
  flex: 1 !important;
  position: relative !important;
}

.comedian-search-input {
  width: 100% !important;
  padding: 12px 16px !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border: 2px solid var(--comedian-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedian-text-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

.comedian-search-input:focus {
  outline: none !important;
  border-color: var(--comedian-primary) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--comedian-accent-glow) !important;
  background: linear-gradient(135deg, #222 0%, #333 100%) !important;
}

.comedian-search-input::placeholder {
  color: #888 !important;
  font-style: italic !important;
}

/* Search Buttons */
.comedian-search-button {
  padding: 12px 20px !important;
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  border: 2px solid var(--comedian-primary) !important;
  border-radius: 8px !important;
  color: var(--comedian-secondary) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
  min-width: 80px !important;
}

.comedian-search-button:hover {
  background: linear-gradient(135deg, var(--comedian-primary-dark) 0%, var(--comedian-primary) 100%) !important;
  transform: var(--comedian-hover-transform) !important;
  box-shadow: 0 5px 15px var(--comedian-accent-glow) !important;
}

.comedian-search-button.comedian-clear-btn {
  background: linear-gradient(135deg, #444 0%, #555 100%) !important;
  border-color: #666 !important;
  color: var(--comedian-text-light) !important;
}

.comedian-search-button.comedian-clear-btn:hover {
  background: linear-gradient(135deg, #555 0%, #666 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-text-white) !important;
  box-shadow: 0 5px 15px rgba(245, 166, 35, 0.2) !important;
}

/* DESKTOP ALPHABETICAL FILTER SYSTEM */
.comedian-filter-buttons {
  margin-bottom: 20px !important;
  padding: 0 !important;
}

.comedian-alpha-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: flex-start !important;
  margin-bottom: 10px !important;
}

.comedian-alpha-row:last-child {
  margin-bottom: 20px !important;
}

.comedian-filter-btn {
  padding: 10px 16px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedian-border-color) !important;
  border-radius: 6px !important;
  color: var(--comedian-text-light) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
  text-transform: none !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
  min-width: 40px !important;
  text-align: center !important;
}

.comedian-filter-btn:hover,
.comedian-filter-btn.active {
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  transform: var(--comedian-hover-transform) !important;
  box-shadow: 0 4px 12px var(--comedian-accent-glow) !important;
}

.comedian-filter-btn[data-filter="all"] {
  background: linear-gradient(135deg, var(--comedian-primary-dark) 0%, var(--comedian-primary) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  font-weight: 700 !important;
  padding: 10px 14px !important;
}

/* Hide the # button - no comedians have numbers in names */
.comedian-filter-btn[data-letter="#"] {
  display: none !important;
}

/* MOBILE ALPHABET DROPDOWN */
.comedian-mobile-filter-dropdown {
  display: none !important;
  position: relative !important;
}

.comedian-mobile-filter-trigger {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 50px !important;
  height: 42px !important;
  background: linear-gradient(135deg, var(--comedian-primary-dark) 0%, var(--comedian-primary) 100%) !important;
  border: 2px solid var(--comedian-primary) !important;
  border-radius: 8px !important;
  color: var(--comedian-secondary) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
}

.comedian-mobile-filter-trigger:hover {
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 5px 15px var(--comedian-accent-glow) !important;
}

/* Mobile Dropdown Popup Overlay */
.comedian-filter-popup-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(0, 0, 0, 0.8) !important;
  z-index: 9999 !important;
  display: none;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  backdrop-filter: blur(5px) !important;
}

.comedian-filter-popup {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 25px !important;
  border: 2px solid var(--comedian-border-color) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
  max-width: 320px !important;
  width: 100% !important;
  max-height: 50vh !important;
  overflow-y: auto !important;
}

.comedian-filter-popup-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 20px !important;
}

.comedian-filter-popup-title {
  color: var(--comedian-primary) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 !important;
}

.comedian-filter-popup-close {
  background: none !important;
  border: none !important;
  color: #888 !important;
  font-size: 24px !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: color 0.3s ease !important;
}

.comedian-filter-popup-close:hover {
  color: var(--comedian-primary) !important;
}

.comedian-filter-popup-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
}

.comedian-filter-popup-btn {
  padding: 12px 8px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedian-border-color) !important;
  border-radius: 8px !important;
  color: var(--comedian-text-light) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  text-align: center !important;
  min-height: 45px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.comedian-filter-popup-btn:hover,
.comedian-filter-popup-btn.active {
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  transform: scale(1.05) !important;
}

.comedian-filter-popup-btn[data-filter="all"] {
  grid-column: 1 / -1 !important;
  background: linear-gradient(135deg, var(--comedian-primary-dark) 0%, var(--comedian-primary) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  font-weight: 700 !important;
}

/* COMEDIAN GRID LAYOUT - 2 Column Horizontal Cards */
.comedian-roster-container {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px !important;
  margin: 20px 0 !important;
}

.comedian-card {
  position: relative !important;
  height: 150px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
  border: 2px solid transparent !important;
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  display: flex !important;
  align-items: stretch !important;
}

.comedian-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
  border-color: var(--comedian-primary-light) !important;
}

/* Comedian Image - Left Side (40% width) */
.comedian-image {
  width: 40% !important;
  height: 100% !important;
  flex-shrink: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
}

/* Proper image sizing and centering */
.comedian-photo {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

.comedian-placeholder {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #666 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

/* Card Content - Right Side (60% width) */
.comedian-content {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  padding: 20px 15px 15px 20px !important;
  position: relative !important;
  background: rgba(0, 0, 0, 0.1) !important;
}

.comedian-name {
  color: var(--comedian-secondary) !important;
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  margin: 0 0 12px 0 !important;
  line-height: 0.95 !important;
  text-shadow: none !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
  word-wrap: break-word !important;
  display: block !important;
  max-height: 65px !important;
  overflow: hidden !important;
}

/* Social Media Links - Below Name */
.comedian-links {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: auto !important;
}

.comedian-link-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  background: rgba(26, 26, 26, 0.95) !important;
  border: 2px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 50% !important;
  text-decoration: none !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  backdrop-filter: blur(3px) !important;
  text-shadow: none !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
}

.comedian-link-btn:hover {
  transform: scale(1.15) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5) !important;
}

/* Specific Social Media Button Colors - Vibrant Scheme */
.comedian-website-btn {
  background: linear-gradient(135deg, #4a90e2 0%, #357abd 100%) !important;
  border-color: #4a90e2 !important;
  color: #fff !important;
}

.comedian-website-btn:hover {
  background: linear-gradient(135deg, #357abd 0%, #2968a3 100%) !important;
  border-color: #357abd !important;
  color: #fff !important;
}

.comedian-facebook-btn {
  background: linear-gradient(135deg, #1877f2 0%, #166fe5 100%) !important;
  border-color: #1877f2 !important;
  color: #fff !important;
}

.comedian-facebook-btn:hover {
  background: linear-gradient(135deg, #166fe5 0%, #1464cc 100%) !important;
  border-color: #166fe5 !important;
  color: #fff !important;
}

.comedian-x-btn {
  background: linear-gradient(135deg, #000 0%, #1a1a1a 100%) !important;
  border-color: #333 !important;
  color: #fff !important;
}

.comedian-x-btn:hover {
  background: linear-gradient(135deg, #1a1a1a 0%, #333 100%) !important;
  border-color: #666 !important;
  color: #fff !important;
}

.comedian-instagram-btn {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
  border-color: #f09433 !important;
  color: #fff !important;
}

.comedian-instagram-btn:hover {
  background: linear-gradient(45deg, #e6683c 0%, #dc2743 25%, #cc2366 50%, #bc1888 75%, #a91b72 100%) !important;
  border-color: #e6683c !important;
  color: #fff !important;
}

.comedian-tiktok-btn {
  background: linear-gradient(135deg, #ff0050 0%, #e6004a 100%) !important;
  border-color: #ff0050 !important;
  color: #fff !important;
}

.comedian-tiktok-btn:hover {
  background: linear-gradient(135deg, #e6004a 0%, #cc0041 100%) !important;
  border-color: #e6004a !important;
  color: #fff !important;
}

.comedian-youtube-btn {
  background: linear-gradient(135deg, #ff0000 0%, #e60000 100%) !important;
  border-color: #ff0000 !important;
  color: #fff !important;
}

.comedian-youtube-btn:hover {
  background: linear-gradient(135deg, #e60000 0%, #cc0000 100%) !important;
  border-color: #e60000 !important;
  color: #fff !important;
}

.comedian-imdb-btn {
  background: linear-gradient(135deg, #f5c518 0%, #ddb216 100%) !important;
  border-color: #f5c518 !important;
  color: #000 !important;
}

.comedian-imdb-btn:hover {
  background: linear-gradient(135deg, #ddb216 0%, #c49f14 100%) !important;
  border-color: #ddb216 !important;
  color: #000 !important;
}

/* Icon and Label Styles */
.comedian-link-icon {
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.comedian-link-label {
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2px !important;
  line-height: 1 !important;
}

/* COMPREHENSIVE BIO TEXT ELIMINATION */
.comedian-bio,
.comedian-content p,
.comedian-content .bio,
.comedian-content .bio-text,
.comedian-content > div:not(.comedian-links),
.comedian-content > span:not(.comedian-name),
.comedian-card .description,
.comedian-card [class*="bio"],
.comedian-card [class*="desc"] {
  display: none !important;
}

/* Force hide any text content that's not the name or in links */
.comedian-content > *:not(.comedian-name):not(.comedian-links) {
  display: none !important;
}

/* PAGINATION STYLING */
.comedian-pagination-container {
  margin-top: 40px !important;
  margin-bottom: 30px !important;
}

.comedian-pagination {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 25px 35px !important;
  border: 2px solid var(--comedian-border-color) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.comedian-pagination-info {
  color: var(--comedian-text-light) !important;
  font-size: 15px !important;
  margin-bottom: 20px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
}

.comedian-pagination-buttons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.comedian-page-btn {
  min-width: 45px !important;
  height: 45px !important;
  padding: 0 15px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--comedian-border-color) !important;
  border-radius: 10px !important;
  color: var(--comedian-text-light) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.comedian-page-btn:hover,
.comedian-page-btn.active {
  background: linear-gradient(135deg, var(--comedian-primary) 0%, var(--comedian-primary-light) 100%) !important;
  border-color: var(--comedian-primary) !important;
  color: var(--comedian-secondary) !important;
  transform: var(--comedian-hover-transform) !important;
  box-shadow: 0 5px 15px var(--comedian-accent-glow) !important;
}

.comedian-pagination-ellipsis {
  color: #666 !important;
  font-size: 18px !important;
  font-weight: bold !important;
  padding: 0 10px !important;
  user-select: none !important;
  line-height: 1 !important;
}

/* LOADING AND NO RESULTS */
#comedian-loading {
  display: none !important;
}

.comedian-loading {
  display: none !important;
}

.comedian-no-results {
  text-align: center !important;
  padding: 50px 20px !important;
  color: #888 !important;
  font-size: 17px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  border-radius: 12px !important;
  border: 2px dashed var(--comedian-border-color) !important;
  margin: 20px 0 !important;
  font-weight: 500 !important;
}

/* MOBILE RESPONSIVENESS */
@media (max-width: 1200px) {
  .comedian-name {
    font-size: 28px !important;
  }
  
  .comedian-links {
    gap: 6px !important;
  }
  
  .comedian-link-btn {
    width: 32px !important;
    height: 32px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 768px) {
  /* MOBILE SEARCH FORM WITH DROPDOWN */
  .comedian-search-form {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 15px !important;
    align-items: flex-end !important;
  }
  
  /* Row 1: Search input - full width */
  .comedian-search-wrapper {
    flex-basis: 100% !important;
    order: 1 !important;
    margin-bottom: 8px !important;
  }
  
  .comedian-search-input {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Row 2: Three buttons in same row */
  .comedian-search-button:not(.comedian-clear-btn) {
    order: 2 !important;
    flex: 0 0 70px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    height: 42px !important;
  }
  
  .comedian-search-button.comedian-clear-btn {
    order: 3 !important;
    flex: 0 0 60px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    height: 42px !important;
  }
  
  .comedian-mobile-filter-dropdown {
    order: 4 !important;
    display: block !important;
    margin-left: auto !important;
  }
  
  /* HIDE DESKTOP FILTERS ON MOBILE */
  .comedian-filter-buttons {
    display: none !important;
  }
  
  /* MOBILE CARD ADJUSTMENTS */
  .comedian-roster-container {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }
  
  .comedian-card {
    height: 150px !important;
  }
  
  .comedian-content {
    padding: 18px 15px 15px 18px !important;
  }
  
  .comedian-name {
    font-size: 28px !important;
    margin-bottom: 15px !important;
  }
  
  .comedian-links {
    gap: 10px !important;
  }
  
  .comedian-link-btn {
    width: 40px !important;
    height: 40px !important;
    font-size: 16px !important;
  }
  
  .comedian-link-label {
    font-size: 9px !important;
  }
  
  /* Pagination mobile */
  .comedian-pagination {
    padding: 15px 10px !important;
    margin-top: 25px !important;
  }
  
  .comedian-pagination-buttons {
    gap: 6px !important;
  }
  
  .comedian-page-btn {
    min-width: 35px !important;
    height: 35px !important;
    font-size: 12px !important;
  }
  
  .comedian-pagination-info {
    font-size: 13px !important;
    margin-bottom: 15px !important;
  }
  
  .comedian-pagination-ellipsis {
    font-size: 16px !important;
    padding: 0 6px !important;
  }
}

@media (max-width: 480px) {
  .comedian-card {
    height: 140px !important;
  }
  
  .comedian-content {
    padding: 15px 12px 12px 15px !important;
  }
  
  .comedian-name {
    font-size: 24px !important;
    margin-bottom: 12px !important;
  }
  
  .comedian-links {
    gap: 8px !important;
  }
  
  .comedian-link-btn {
    width: 36px !important;
    height: 36px !important;
    font-size: 14px !important;
  }
  
  .comedian-link-label {
    font-size: 8px !important;
  }
  
  .comedian-mobile-filter-trigger {
    width: 45px !important;
    height: 42px !important;
    font-size: 16px !important;
  }
  
  .comedian-filter-popup {
    padding: 20px !important;
    max-width: 280px !important;
  }
  
  .comedian-filter-popup-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
  }
  
  .comedian-filter-popup-btn {
    padding: 12px 8px !important;
    font-size: 14px !important;
    min-height: 45px !important;
  }
  
  .comedian-pagination {
    padding: 12px 8px !important;
  }
  
  .comedian-page-btn {
    min-width: 30px !important;
    height: 30px !important;
    font-size: 11px !important;
  }
}

/* HIGH DPI / RETINA DISPLAY OPTIMIZATIONS */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .comedian-image[style*="background-image"] {
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-b1e7878 *//* ======================================
   VENUE DIRECTORY - COMPLETE GRID GAMING AESTHETIC CSS
   Add this to Elementor Advanced Settings > Custom CSS
   ====================================== */

/* CSS VARIABLES FOR CONSISTENT THEMING */
:root {
  --loc-primary: #f5a623;
  --loc-primary-light: #ffb84d;
  --loc-primary-dark: #d4941f;
  --loc-secondary: #1a1a1a;
  --loc-secondary-light: #2a2a2a;
  --loc-accent-glow: rgba(245, 166, 35, 0.3);
  --loc-accent-glow-intense: rgba(245, 166, 35, 0.5);
  --loc-text-light: #ccc;
  --loc-text-white: #fff;
  --loc-border-color: #444;
  --loc-hover-transform: translateY(-2px);
}

/* SEARCH SECTION - Gaming Style */
.loc-shows-section .loc-search-container {
  border-left: none !important;
  margin-bottom: 25px !important;
  padding: 0 !important;
}

.loc-search-form {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  padding: 15px 20px !important;
  border-radius: 12px !important;
  border: 2px solid var(--loc-border-color) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

.loc-search-wrapper {
  flex: 1 !important;
  position: relative !important;
}

.loc-search-input {
  width: 100% !important;
  padding: 12px 16px !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border: 2px solid var(--loc-border-color) !important;
  border-radius: 8px !important;
  color: var(--loc-text-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

.loc-search-input:focus {
  outline: none !important;
  border-color: var(--loc-primary) !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--loc-accent-glow) !important;
  background: linear-gradient(135deg, #222 0%, #333 100%) !important;
}

.loc-search-input::placeholder {
  color: #888 !important;
  font-style: italic !important;
}

/* Search Buttons */
.loc-search-button {
  padding: 12px 20px !important;
  background: linear-gradient(135deg, var(--loc-primary) 0%, var(--loc-primary-light) 100%) !important;
  border: 2px solid var(--loc-primary) !important;
  border-radius: 8px !important;
  color: var(--loc-secondary) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
  min-width: 80px !important;
}

.loc-search-button:hover {
  background: linear-gradient(135deg, var(--loc-primary-dark) 0%, var(--loc-primary) 100%) !important;
  transform: var(--loc-hover-transform) !important;
  box-shadow: 0 5px 15px var(--loc-accent-glow) !important;
}

.loc-search-button.loc-clear-btn {
  background: linear-gradient(135deg, #444 0%, #555 100%) !important;
  border-color: #666 !important;
  color: var(--loc-text-light) !important;
}

.loc-search-button.loc-clear-btn:hover {
  background: linear-gradient(135deg, #555 0%, #666 100%) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-text-white) !important;
  box-shadow: 0 5px 15px rgba(245, 166, 35, 0.2) !important;
}

/* POPULAR CITIES FILTER */
.loc-filter-buttons {
  margin-bottom: 20px !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: flex-start !important;
}

.loc-filter-section-title {
  color: var(--loc-primary) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  display: block !important;
  margin-bottom: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.loc-filter-buttons::before {
  content: "Popular Cities" !important;
  display: block !important;
  color: var(--loc-primary) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  margin-bottom: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  width: 100% !important;
}

.loc-filter-btn {
  padding: 12px 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--loc-border-color) !important;
  border-radius: 8px !important;
  color: var(--loc-text-light) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
  text-transform: none !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
}

.loc-filter-btn:hover,
.loc-filter-btn.active {
  background: linear-gradient(135deg, var(--loc-primary) 0%, var(--loc-primary-light) 100%) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  transform: var(--loc-hover-transform) !important;
  box-shadow: 0 5px 15px var(--loc-accent-glow) !important;
}

.loc-filter-btn[data-filter="all"] {
  background: linear-gradient(135deg, var(--loc-primary-dark) 0%, var(--loc-primary) 100%) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  font-weight: 700 !important;
}

/* REMOVE ALPHABETICAL FILTERS AND DUPLICATE SECTIONS */
.loc-alpha-filters,
.loc-alphabetical-filters,
[class*="alpha"],
[class*="alphabet"] {
  display: none !important;
}

/* Hide the duplicate section that contains alphabet letters - KEEP THE CITIES SECTION */
#primary > div > div > div > div > div > div > div > div > div:nth-child(3) {
  display: none !important;
}

/* VENUE GRID LAYOUT - 3 Column Grid System */
.loc-shows-container {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  margin: 20px 0 !important;
}

.loc-show-card {
  position: relative !important;
  height: 280px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
  border: 2px solid transparent !important;
}

.loc-show-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
  border-color: var(--loc-primary) !important;
}

/* Card Background Image */
.loc-show-image {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  z-index: 1 !important;
}

.loc-show-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.venue-placeholder {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #666 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

/* Card Overlay Gradient */
.loc-show-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.7) 100%) !important;
  z-index: 2 !important;
}

/* Card Content Overlay */
.loc-show-content {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 20px !important;
  z-index: 3 !important;
  background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.6) 70%, transparent 100%) !important;
}

.loc-show-title {
  color: var(--loc-text-white) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.3 !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8) !important;
}

.loc-city-text {
  color: var(--loc-text-light) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  margin: 0 0 15px 0 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8) !important;
}

/* Footer Utilities - All Four Buttons Consistently Sized */
.loc-venue-utilities {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

.loc-utility-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 10px !important;
  background: rgba(42, 42, 42, 0.9) !important;
  border: 1px solid rgba(245, 166, 35, 0.5) !important;
  border-radius: 15px !important;
  text-decoration: none !important;
  color: var(--loc-primary) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  backdrop-filter: blur(5px) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8) !important;
  min-height: 28px !important;
  box-sizing: border-box !important;
}

.loc-utility-btn:hover {
  background: var(--loc-primary) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px var(--loc-accent-glow) !important;
  text-shadow: none !important;
}

/* Parking Button */
.loc-parking-btn .loc-utility-icon {
  background: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 3px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 800 !important;
  font-size: 10px !important;
}

.loc-parking-btn:hover .loc-utility-icon {
  background: var(--loc-secondary) !important;
  color: var(--loc-primary) !important;
}

/* Restaurant Button */
.loc-restaurant-btn .loc-utility-label {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* Directions Button with Location Marker Icon */
.loc-directions-btn {
  gap: 4px !important;
}

.loc-location-marker {
  display: inline-block !important;
  width: 12px !important;
  height: 16px !important;
  position: relative !important;
}

.loc-location-marker::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 12px !important;
  height: 12px !important;
  background: currentColor !important;
  border-radius: 50% 50% 50% 0 !important;
  transform: rotate(-45deg) !important;
}

.loc-location-marker::after {
  content: '' !important;
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 6px !important;
  height: 6px !important;
  background: var(--loc-secondary) !important;
  border-radius: 50% !important;
  transform: rotate(45deg) !important;
}

.loc-directions-btn:hover .loc-location-marker::after {
  background: var(--loc-primary) !important;
}

.loc-directions-btn .loc-directions-text {
  display: none !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* Venue Info Button */
.loc-venue-info-btn {
  opacity: 0.8 !important;
}

.loc-venue-info-btn:hover {
  opacity: 1 !important;
}

.loc-venue-info-btn .loc-utility-label {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* PAGINATION STYLING - Enhanced for Desktop */
.loc-pagination-container {
  margin-top: 50px !important;
  margin-bottom: 30px !important;
}

.loc-pagination {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 30px 40px !important;
  border: 2px solid var(--loc-border-color) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.loc-pagination-info {
  color: var(--loc-text-light) !important;
  font-size: 16px !important;
  margin-bottom: 25px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
}

.loc-pagination-buttons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.loc-page-btn {
  min-width: 50px !important;
  height: 50px !important;
  padding: 0 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 100%) !important;
  border: 2px solid var(--loc-border-color) !important;
  border-radius: 12px !important;
  color: var(--loc-text-light) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.loc-page-btn:hover,
.loc-page-btn.active {
  background: linear-gradient(135deg, var(--loc-primary) 0%, var(--loc-primary-light) 100%) !important;
  border-color: var(--loc-primary) !important;
  color: var(--loc-secondary) !important;
  transform: var(--loc-hover-transform) !important;
  box-shadow: 0 6px 18px var(--loc-accent-glow) !important;
}

.loc-pagination-ellipsis {
  color: #666 !important;
  font-size: 20px !important;
  font-weight: bold !important;
  padding: 0 12px !important;
  user-select: none !important;
  line-height: 1 !important;
}

/* REMOVE LOADING SPINNER */
#venue-loading {
  display: none !important;
}

.loc-loading {
  display: none !important;
}

/* NO RESULTS STYLING */
.shows-no-results {
  text-align: center !important;
  padding: 60px 20px !important;
  color: #888 !important;
  font-size: 18px !important;
  background: linear-gradient(135deg, #2a2a2a 0%, #333 100%) !important;
  border-radius: 12px !important;
  border: 2px dashed var(--loc-border-color) !important;
  margin: 20px 0 !important;
  font-weight: 500 !important;
}

/* MOBILE RESPONSIVENESS */
@media (max-width: 1200px) {
  .loc-shows-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  
  /* Adjust pagination for tablet */
  .loc-pagination {
    padding: 25px 30px !important;
  }
  
  .loc-page-btn {
    min-width: 45px !important;
    height: 45px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 768px) {
  /* Search form mobile */
  .loc-search-form {
    flex-direction: column !important;
    gap: 12px !important;
    padding: 15px !important;
  }
  
  .loc-search-wrapper {
    width: 100% !important;
  }
  
  .loc-search-button {
    width: 100% !important;
    justify-content: center !important;
  }
  
  /* Grid becomes 2 columns on mobile */
  .loc-shows-container {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px !important;
  }
  
  .loc-show-card {
    height: 220px !important;
  }
  
  /* FIXED: Popular Cities Mobile 4-Column Grid Layout */
  .loc-filter-buttons {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    margin-bottom: 20px !important;
  }
  
  .loc-filter-buttons::before {
    grid-column: 1 / -1 !important;
    margin-bottom: 12px !important;
  }
  
  .loc-filter-btn {
    padding: 12px 8px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-align: center !important;
    border-radius: 6px !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    box-sizing: border-box !important;
    flex: 1 !important;
  }
  
  /* Ensure "All Venues" button fits properly */
  .loc-filter-btn[data-filter="all"] {
    font-size: 10px !important;
    padding: 10px 6px !important;
  }
  
  /* Card content mobile adjustments */
  .loc-show-content {
    padding: 15px !important;
  }
  
  .loc-show-title {
    font-size: 16px !important;
  }
  
  .loc-city-text {
    font-size: 13px !important;
    margin-bottom: 12px !important;
  }
  
  .loc-utility-btn {
    padding: 5px 8px !important;
    font-size: 10px !important;
    min-height: 26px !important;
  }
  
  /* Mobile: Show "Get Directions" text */
  .loc-directions-btn .loc-directions-text {
    display: inline !important;
    margin-left: 2px !important;
  }
  
  /* Pagination mobile */
  .loc-pagination {
    padding: 20px 15px !important;
    margin-top: 30px !important;
  }
  
  .loc-pagination-buttons {
    gap: 8px !important;
  }
  
  .loc-page-btn {
    min-width: 42px !important;
    height: 42px !important;
    font-size: 13px !important;
  }
  
  .loc-pagination-info {
    font-size: 14px !important;
    margin-bottom: 20px !important;
  }
  
  .loc-pagination-ellipsis {
    font-size: 18px !important;
    padding: 0 8px !important;
  }
}

@media (max-width: 480px) {
  /* Very small screens - single column */
  .loc-shows-container {
    grid-template-columns: 1fr !important;
  }
  
  .loc-show-card {
    height: 200px !important;
  }
  
  /* FIXED: Popular Cities for Very Small Screens - Keep 4x2 Layout */
  .loc-filter-buttons {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 6px !important;
    width: 100% !important;
  }
  
  .loc-filter-buttons::before {
    grid-column: 1 / -1 !important;
    margin-bottom: 10px !important;
  }
  
  .loc-filter-btn {
    padding: 10px 4px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-align: center !important;
    border-radius: 5px !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.1 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    box-sizing: border-box !important;
    flex: 1 !important;
  }
  
  /* Extra small text for "All Venues" on very small screens */
  .loc-filter-btn[data-filter="all"] {
    font-size: 9px !important;
    padding: 8px 3px !important;
  }
  
  .loc-show-title {
    font-size: 15px !important;
  }
  
  .loc-city-text {
    font-size: 12px !important;
  }
  
  .loc-utility-btn {
    padding: 4px 6px !important;
    font-size: 9px !important;
    min-height: 24px !important;
  }
  
  .loc-pagination {
    padding: 15px 10px !important;
  }
  
  .loc-page-btn {
    min-width: 38px !important;
    height: 38px !important;
    font-size: 12px !important;
  }
  
  .loc-pagination-ellipsis {
    font-size: 16px !important;
    padding: 0 6px !important;
  }
}

/* HIGH DPI / RETINA DISPLAY OPTIMIZATIONS */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .loc-show-image img {
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
  }
}/* End custom CSS */