/* Wrapper Vars (werden pro Shortcode inline gesetzt) */
.ticketspot-events-wrap[data-tswrap="1"]{
  --primary-color:#951F24;
  --secondary-color:#73191C;
  --text-color:#333333;
  --background-color:#ffffff;

  --border-color:#ddd;
  --shadow-color: rgba(0,0,0,.1);
  --highlight-color:#555;
}

/* GRID */
.ticketspot-events-wrap[data-tswrap="1"] .event-container{
  display:grid !important;
  gap:20px;
  padding:20px;
  max-width:1200px;
  margin:0 auto;
  grid-template-columns:1fr !important;
}
@media (min-width:640px){
  .ticketspot-events-wrap[data-tswrap="1"] .event-container{
    grid-template-columns:repeat(var(--cols-tablet,2),1fr) !important;
  }
}
@media (min-width:1024px){
  .ticketspot-events-wrap[data-tswrap="1"] .event-container{
    grid-template-columns:repeat(var(--cols-desktop,3),1fr) !important;
  }
}

/* CARD */
.ticketspot-events-wrap[data-tswrap="1"] .event-card{
  display:flex !important;
  flex-direction:column;
  border:1px solid var(--border-color);
  border-radius:8px;
  overflow:hidden;
  background-color:var(--background-color);
  box-shadow:0 2px 4px var(--shadow-color);
  min-height:300px;
  position:relative;
}
.ticketspot-events-wrap[data-tswrap="1"] .event-card img{
  width:100%;
  height:auto;
  border-bottom:1px solid var(--border-color);
  display:block;
}
.ticketspot-events-wrap[data-tswrap="1"] .event-card .event-details{
  padding:15px;
  text-align:left;
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.ticketspot-events-wrap[data-tswrap="1"] .event-card h3{
  margin:0;
  font-size:1.2em;
  color:var(--text-color);
}
.ticketspot-events-wrap[data-tswrap="1"] .event-card .event-details p{
  margin:5px 0;
  font-size:.9em;
  color:var(--highlight-color);
}

/* INFO */
.ticketspot-events-wrap[data-tswrap="1"] .event-info{
  padding-top:10px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  border-top:1px solid var(--border-color);
  flex-grow:1;
  min-height:120px;
}
.ticketspot-events-wrap[data-tswrap="1"] .event-info .event-row{
  display:flex;
  align-items:center;
  margin:5px 0 10px 0;
}
.ticketspot-events-wrap[data-tswrap="1"] .event-info .event-row img.event-icon{
  margin-right:10px;
  min-width:17px;
  height:17px;
}
.ticketspot-events-wrap[data-tswrap="1"] .event-card .event-row .event-icon{
  width:20px;
  height:20px;
  margin-right:10px;
  flex-shrink:0;
  display:block;
  border:none;
}
.ticketspot-events-wrap[data-tswrap="1"] .event-card .event-row span{
  flex:1;
  color:var(--text-color);
  font-size:.95em;
}

/* FOOTER */
.ticketspot-events-wrap[data-tswrap="1"] .event-footer{
  margin-top:auto;
  background-color:var(--background-color);
  border-top:1px solid var(--border-color);
  border-radius:0 0 8px 8px;
  overflow:hidden;
}

/* BUTTON */
.ticketspot-events-wrap[data-tswrap="1"] .ticket-button,
.ticketspot-events-wrap[data-tswrap="1"] .ticket-button:link,
.ticketspot-events-wrap[data-tswrap="1"] .ticket-button:visited,
.ticketspot-events-wrap[data-tswrap="1"] .ticket-button:hover,
.ticketspot-events-wrap[data-tswrap="1"] .ticket-button:active{
  color:var(--background-color)!important;
  text-decoration:none!important;
}
.ticketspot-events-wrap[data-tswrap="1"] .ticket-button{
  display:block;
  text-align:center;
  padding:12px;
  font-size:1rem;
  background:linear-gradient(45deg,var(--primary-color),var(--secondary-color));
  border-top:1px solid var(--border-color);
  border-bottom-left-radius:8px;
  border-bottom-right-radius:8px;
  font-weight:bold;
  transition:transform .2s ease-in-out;
}
.ticketspot-events-wrap[data-tswrap="1"] .ticket-button:hover{
  transform:scale(1.05);
}

.ticketspot-events-wrap[data-tswrap="1"] .ts-more-btn{
  display:inline-block;
  padding:10px 16px;
  border:none;
  border-radius:8px;
  background:linear-gradient(45deg,var(--primary-color),var(--secondary-color));
  color:var(--background-color);
  font-weight:700;
  cursor:pointer;
  transition:transform .2s ease-in-out, filter .2s ease-in-out;
}
.ticketspot-events-wrap[data-tswrap="1"] .ts-more-btn:hover{
  transform:scale(1.05);
  filter:brightness(1.02);
}
.ticketspot-events-wrap[data-tswrap="1"] .ts-more-btn:focus{
  outline:2px solid var(--primary-color);
}

.ticketspot-events-wrap[data-tswrap="1"] .event-no-result{
  text-align:center;
  font-size:1.2em;
  color:var(--highlight-color);
  margin:20px auto;
}

.ticketspot-events-wrap[data-tswrap="1"] .sold-out-stamp{
  position:absolute;
  top:20px;
  left:-40px;
  background:var(--primary-color);
  color:#fff;
  font-weight:bold;
  padding:5px 45px;
  transform:rotate(-30deg);
  z-index:3;
  font-size:.9rem;
  box-shadow:0 2px 6px rgba(0,0,0,.2);
  pointer-events:none;
}
.ticketspot-events-wrap[data-tswrap="1"] .ticket-button.sold-out,
.ticketspot-events-wrap[data-tswrap="1"] .ticket-button.sold-out:hover{
  background:#999;
  color:#fff!important;
  cursor:default;
  pointer-events:none;
  text-transform:uppercase;
  transform:none;
}

/* LIST VIEW */
.ticketspot-events-wrap[data-tswrap="1"] .event-list{
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
}
.ticketspot-events-wrap[data-tswrap="1"] .event-list-row{
  display:grid;
  grid-template-columns: 200px 1fr 1fr auto;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid #ddd;
  align-items:center;
}
.ticketspot-events-wrap[data-tswrap="1"] .event-list-row .el-action.el-link,
.ticketspot-events-wrap[data-tswrap="1"] .event-list-row .el-action.el-link:link,
.ticketspot-events-wrap[data-tswrap="1"] .event-list-row .el-action.el-link:visited{
  color: var(--primary-color);
  text-decoration: none;
  font-weight:600;
}
.ticketspot-events-wrap[data-tswrap="1"] .event-list-row .el-action.el-link:hover{
  text-decoration: underline;
}
.ticketspot-events-wrap[data-tswrap="1"] .event-list-row .el-sold{
  color:#999;
  font-weight:700;
}
@media (max-width:700px){
  .ticketspot-events-wrap[data-tswrap="1"] .event-list-row{
    grid-template-columns: 1fr;
    gap:6px;
  }
  .ticketspot-events-wrap[data-tswrap="1"] .event-list-row .el-action{
    justify-self: start;
  }
}
/* ---------- TIME CHIPS (Uhrzeiten) ---------- */
.ticketspot-events-wrap[data-tswrap="1"] .ts-time-chip {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid var(--primary-color);
  color: var(--primary-color);
  background: transparent;
  transition: transform .12s ease-in-out, filter .12s ease-in-out, box-shadow .12s ease-in-out;
  user-select: none;
}

.ticketspot-events-wrap[data-tswrap="1"] .ts-time-chip:hover {
  transform: translateY(-1px);
  filter: brightness(1.02);
  box-shadow: 0 2px 6px rgba(0,0,0,.12);
}

.ticketspot-events-wrap[data-tswrap="1"] .ts-time-chip:active {
  transform: translateY(0);
  filter: brightness(.98);
  box-shadow: none;
}

/* Ausverkauft-Chip */
.ticketspot-events-wrap[data-tswrap="1"] .ts-time-chip--sold {
  border: 1px solid #ccc;
  color: #777;
  opacity: .6;
  cursor: not-allowed;
  pointer-events: none;
}

/* Container für Chips (optional hübscher Abstand) */
.ticketspot-events-wrap[data-tswrap="1"] .ts-time-chip-row {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-left: 8px;
  align-items: center;
}

/* ---------- Footer "Bitte Uhrzeit wählen" im gleichen Look wie Ticket-Button ---------- */
.ticketspot-events-wrap[data-tswrap="1"] .ticket-button.ticket-button--choose {
  background: linear-gradient(45deg, var(--primary-color), var(--secondary-color));
  color: var(--background-color) !important;
  cursor: default;
  pointer-events: none;
  transform: none !important;
}
