.eventus-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.eventus-card{background:#fff;border:1px solid #e9e9e9;border-radius:16px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.05)}.eventus-card-image{width:100%;height:220px;object-fit:cover;display:block}.eventus-card-body{padding:20px}.eventus-date{font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.eventus-card h3{margin:8px 0}.eventus-card p{color:#666}.eventus-button{display:inline-block;background:#ff4b4b;color:#fff!important;border:0;border-radius:8px;padding:12px 18px;text-decoration:none;cursor:pointer}.eventus-event-main{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px}.eventus-event-image{width:100%;height:auto;border-radius:18px}.eventus-event-info h1{font-size:clamp(32px,5vw,58px);line-height:1.05;margin:10px 0}.eventus-meta{color:#666}.eventus-booking{margin-top:45px;max-width:780px}.eventus-ticket-row{display:grid;grid-template-columns:1fr auto auto;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid #e5e5e5}.eventus-ticket-row small{display:block;color:#777;margin-top:4px}.eventus-qty{display:flex;align-items:center;gap:5px}.eventus-qty button{width:36px;height:36px;border:1px solid #ccc;background:#fff;border-radius:7px;font-size:20px}.eventus-qty input{width:40px;text-align:center;border:0;background:transparent; color: #fff;}.eventus-total{display:flex;justify-content:space-between;font-size:22px;padding:24px 0}.eventus-checkout-form label{display:block;font-weight:600;margin:12px 0}.eventus-checkout-form input,.eventus-lookup input,.eventus-checkin input{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:13px;border:1px solid #ccc;border-radius:8px}.eventus-checkout-form .eventus-button{margin-top:10px}.eventus-message{margin-top:14px}.eventus-message.error{color:#b00020}.eventus-lookup,.eventus-checkin{max-width:520px;padding:28px;border:1px solid #ddd;border-radius:14px;background:#fff}.eventus-lookup-form .eventus-button,.eventus-checkin-form .eventus-button{margin-top:10px}@media(max-width:900px){.eventus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.eventus-event-main{grid-template-columns:1fr}}@media(max-width:600px){.eventus-grid{grid-template-columns:1fr}.eventus-ticket-row{grid-template-columns:1fr auto}.eventus-qty{grid-column:1/-1}.eventus-card-image{height:auto}}


/* Booking page event selector */
.eventus-booking-selector{max-width:1200px;margin:0 auto;padding:20px 0 60px;}
.eventus-booking-selector-head{margin-bottom:28px;}
.eventus-booking-selector-head h2{margin:4px 0 8px;}
.eventus-booking-selector-head p{margin:0;opacity:.72;}
.eventus-booking-events .eventus-card{height:100%;}

/* Eventus theme integration: booking event selector */
.eventus-booking-selector {
  max-width: 1180px;
  margin: 0 auto;
  padding: 55px 0 80px;
}

.eventus-booking-selector-head {
  margin-bottom: 34px;
}

.eventus-booking-selector-head .eventus-date {
  color: #ff4b4b;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  line-height: 1.4;
}

.eventus-booking-selector-head h2 {
  margin: 8px 0 10px;
  color: #fff;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: -.02em;
}

.eventus-booking-selector-head p {
  margin: 0;
  max-width: 650px;
  color: rgba(255,255,255,.58);
  font-size: 15px;
}

.eventus-booking-events.eventus-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.eventus-booking-events .eventus-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  background: #0d0d0d;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 0;
  box-shadow: none;
  transition: transform .25s ease, border-color .25s ease;
}

.eventus-booking-events .eventus-card:hover {
  transform: translateY(-5px);
  border-color: rgba(255,75,75,.55);
}

.eventus-booking-events .eventus-card-image {
  width: 100%;
  height: 245px;
  object-fit: cover;
  display: block;
  border-radius: 0;
}

.eventus-booking-events .eventus-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px;
  background: #0d0d0d;
}

.eventus-booking-events .eventus-date {
  margin-bottom: 9px;
  color: #ff4b4b;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.4;
}

.eventus-booking-events .eventus-card h3 {
  margin: 0 0 12px;
  color: #fff !important;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.02em;
  text-transform: uppercase;
}

.eventus-booking-events .eventus-card p {
  margin: auto 0 22px;
  color: rgba(255,255,255,.58) !important;
  font-size: 14px;
  line-height: 1.6;
}

.eventus-booking-events .eventus-button {
  align-self: flex-start;
  background: #ff4b4b !important;
  color: #050505 !important;
  border-radius: 0;
  padding: 13px 20px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: background .2s ease, color .2s ease;
}

.eventus-booking-events .eventus-button:hover {
  background: #fff !important;
  color: #050505 !important;
}

@media (max-width: 900px) {
  .eventus-booking-events.eventus-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .eventus-booking-events .eventus-card-image {
    height: 220px;
  }
}

@media (max-width: 600px) {
  .eventus-booking-selector {
    padding: 40px 0 60px;
  }
  .eventus-booking-events.eventus-grid {
    grid-template-columns: 1fr;
  }
  .eventus-booking-events .eventus-card-image {
    height: auto;
    aspect-ratio: 16 / 9;
  }
}

/* Eventus homepage event cards: match the Book Event selector */
.eventus-grid:not(.eventus-booking-events) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.eventus-grid:not(.eventus-booking-events) .eventus-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  background: #0d0d0d;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 0;
  box-shadow: none;
  transition: transform .25s ease, border-color .25s ease;
}

.eventus-grid:not(.eventus-booking-events) .eventus-card:hover {
  transform: translateY(-5px);
  border-color: rgba(255,75,75,.55);
}

.eventus-grid:not(.eventus-booking-events) .eventus-card-image {
  width: 100%;
  height: 245px;
  object-fit: cover;
  display: block;
  border-radius: 0;
}

.eventus-grid:not(.eventus-booking-events) .eventus-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px;
  background: #0d0d0d;
}

.eventus-grid:not(.eventus-booking-events) .eventus-date {
  margin-bottom: 9px;
  color: #ff4b4b;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.4;
}

.eventus-grid:not(.eventus-booking-events) .eventus-card h3 {
  margin: 0 0 12px;
  color: #fff !important;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.02em;
  text-transform: uppercase;
}

.eventus-grid:not(.eventus-booking-events) .eventus-card p {
  margin: auto 0 22px;
  color: rgba(255,255,255,.58) !important;
  font-size: 14px;
  line-height: 1.6;
}

.eventus-grid:not(.eventus-booking-events) .eventus-button {
  align-self: flex-start;
  background: #ff4b4b !important;
  color: #050505 !important;
  border-radius: 0;
  padding: 13px 20px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: background .2s ease, color .2s ease;
}

.eventus-grid:not(.eventus-booking-events) .eventus-button:hover {
  background: #fff !important;
  color: #050505 !important;
}

@media (max-width: 900px) {
  .eventus-grid:not(.eventus-booking-events) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .eventus-grid:not(.eventus-booking-events) .eventus-card-image {
    height: 220px;
  }
}

@media (max-width: 600px) {
  .eventus-grid:not(.eventus-booking-events) {
    grid-template-columns: 1fr;
  }
  .eventus-grid:not(.eventus-booking-events) .eventus-card-image {
    height: auto;
    aspect-ratio: 16 / 9;
  }
}


/* Past event cards */
.eventus-card-past .eventus-card-image {
  filter: grayscale(18%);
}
.eventus-card-past .eventus-past-label {
  align-self: flex-start;
  display: inline-block;
  margin-top: auto;
  padding: 13px 20px;
  border: 1px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.58);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1;
  text-transform: uppercase;
}
.eventus-card-past .eventus-date {
  color: rgba(255,255,255,.48) !important;
}


/* Download Ticket page */
.eventus-lookup{max-width:680px;margin:40px auto 90px;padding:55px;background:#0d0d0d;border:1px solid rgba(255,255,255,.12)}
.eventus-lookup-kicker{margin-bottom:12px;color:#ff4b4b;font-size:10px;font-weight:800;letter-spacing:2.5px}
.eventus-lookup h2{margin:0 0 14px;color:#fff;font-size:clamp(42px,6vw,68px);font-weight:900;line-height:.9;letter-spacing:-3px}
.eventus-lookup>p{color:#999;font-size:15px;line-height:1.7}
.eventus-lookup-form label{display:block;margin-top:24px;color:#aaa;font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}
.eventus-lookup-form input{display:block;width:100%;min-height:50px;margin-top:9px;padding:0 15px;border:1px solid #303030;border-radius:0;background:#050505;color:#fff;font-size:15px}
.eventus-lookup-form input:focus{outline:none;border-color:#ff4b4b}
.eventus-lookup-or{position:relative;margin:22px 0 2px;text-align:center}
.eventus-lookup-or:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid #292929}
.eventus-lookup-or span{position:relative;display:inline-block;padding:0 12px;background:#0d0d0d;color:#666;font-size:9px;font-weight:800;letter-spacing:2px}
.eventus-lookup-form .eventus-button{margin-top:28px;min-height:48px;border:0;border-radius:0;background:#ff4b4b;color:#050505;font-size:11px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase}
.eventus-lookup-note{margin-top:18px!important;color:#666!important;font-size:11px!important}
.eventus-lookup-results{margin-top:28px;text-align:left}
.eventus-lookup-results h3{margin:0 0 14px;color:#fff;font-size:18px;text-transform:uppercase}
.eventus-lookup-ticket{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid #292929}
.eventus-lookup-ticket strong,.eventus-lookup-ticket small,.eventus-lookup-order{display:block}
.eventus-lookup-ticket strong{margin:4px 0;color:#fff;font-size:17px}
.eventus-lookup-ticket small{color:#888;font-size:12px}
.eventus-lookup-ticket-kicker{color:#ff4b4b;font-size:9px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}
.eventus-lookup-order{margin-top:6px;color:#666;font-size:9px;letter-spacing:1px}
@media(max-width:600px){
 .eventus-lookup{margin:25px auto 60px;padding:35px 22px}
 .eventus-lookup h2{font-size:46px}
 .eventus-lookup-ticket{align-items:flex-start;flex-direction:column}
}
