
:root{
  --tlm-black:#070707;
  --tlm-panel:#101010;
  --tlm-cream:#f4efe5;
  --tlm-muted:#aaa39a;
  --tlm-red:#e51f27;
  --tlm-gold:#c9a85d;
}

body.post-type-archive-tlm_event,
body.single-tlm_event{
  background:var(--tlm-black);
}

.tlm-events-shell{
  background:
    radial-gradient(circle at 82% 8%, rgba(229,31,39,.13), transparent 25rem),
    linear-gradient(180deg,#080808 0%,#050505 100%);
  color:var(--tlm-cream);
  min-height:70vh;
  padding:clamp(54px,8vw,110px) 20px 90px;
  font-family:Inter,Arial,sans-serif;
}

.tlm-events-wrap{
  width:min(1180px,100%);
  margin:0 auto;
}

.tlm-events-kicker{
  color:var(--tlm-red);
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:11px;
  font-weight:800;
  margin-bottom:12px;
}

.tlm-events-title{
  margin:0;
  font-family:Anton,Impact,sans-serif;
  font-size:clamp(54px,10vw,118px);
  line-height:.88;
  letter-spacing:.01em;
  text-transform:uppercase;
  color:#fff;
}

.tlm-events-intro{
  width:min(700px,100%);
  margin:24px 0 0;
  color:var(--tlm-muted);
  line-height:1.7;
  font-size:clamp(15px,2vw,18px);
}

.tlm-events-rule{
  height:1px;
  background:linear-gradient(90deg,var(--tlm-red),rgba(255,255,255,.12),transparent);
  margin:42px 0;
}

.tlm-event-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}

.tlm-event-card{
  position:relative;
  overflow:hidden;
  min-height:440px;
  border:1px solid rgba(255,255,255,.11);
  background:#101010;
  color:#fff;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  isolation:isolate;
  transition:transform .22s ease,border-color .22s ease;
}

.tlm-event-card:hover{
  transform:translateY(-3px);
  border-color:rgba(229,31,39,.7);
}

.tlm-event-card__media{
  position:absolute;
  inset:0;
  z-index:-2;
  background:#141414;
}

.tlm-event-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.84) brightness(.62);
}

.tlm-event-card__veil{
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(0,0,0,.07) 15%,rgba(0,0,0,.92) 85%);
}

.tlm-event-card__top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  padding:20px;
}

.tlm-event-datebadge{
  width:68px;
  min-height:68px;
  display:grid;
  place-items:center;
  align-content:center;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(10px);
}

.tlm-event-datebadge strong{
  font-family:Anton,Impact,sans-serif;
  font-size:31px;
  line-height:1;
}

.tlm-event-datebadge span{
  color:var(--tlm-red);
  font-size:10px;
  letter-spacing:.16em;
  font-weight:800;
}

.tlm-event-card__body{
  margin-top:auto;
  padding:24px;
}

.tlm-event-card__meta{
  color:#d0c9be;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom:10px;
}

.tlm-event-card h2{
  margin:0;
  color:#fff;
  font-family:Anton,Impact,sans-serif;
  text-transform:uppercase;
  font-size:clamp(34px,5vw,57px);
  line-height:.98;
}

.tlm-event-card__excerpt{
  color:#c0bab0;
  font-size:14px;
  line-height:1.6;
  margin:15px 0 0;
  max-width:42rem;
}

.tlm-event-card__cta{
  display:inline-flex;
  margin-top:20px;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:10px;
  font-weight:800;
}

.tlm-event-card__cta::after{
  content:"→";
  color:var(--tlm-red);
  margin-left:9px;
}

.tlm-events-empty{
  border:1px solid rgba(255,255,255,.1);
  padding:40px;
  background:#0d0d0d;
  color:var(--tlm-muted);
}

/* Single event */
.tlm-event-hero{
  position:relative;
  min-height:min(720px,78vh);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  background:#111;
}

.tlm-event-hero__media,
.tlm-event-hero__overlay{
  position:absolute;
  inset:0;
}

.tlm-event-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.85) brightness(.55);
}

.tlm-event-hero__overlay{
  background:
    linear-gradient(90deg,rgba(0,0,0,.87),rgba(0,0,0,.34) 65%,rgba(0,0,0,.62)),
    linear-gradient(0deg,#080808,transparent 55%);
}

.tlm-event-hero__content{
  position:relative;
  z-index:2;
  padding:clamp(28px,6vw,72px);
  width:min(900px,100%);
}

.tlm-event-hero__content h1{
  font-family:Anton,Impact,sans-serif;
  text-transform:uppercase;
  font-size:clamp(58px,10vw,126px);
  line-height:.88;
  margin:10px 0 20px;
  color:#fff;
}

.tlm-event-hero__facts{
  display:flex;
  flex-wrap:wrap;
  gap:10px 24px;
  color:#dfd9d0;
  font-size:13px;
}

.tlm-event-main{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);
  gap:44px;
  padding-top:44px;
}

.tlm-event-copy{
  color:#d2ccc3;
  font-size:16px;
  line-height:1.8;
}

.tlm-event-copy h2,
.tlm-event-copy h3{
  color:#fff;
  font-family:Anton,Impact,sans-serif;
  text-transform:uppercase;
  letter-spacing:.02em;
}

.tlm-event-aside{
  border-left:1px solid rgba(255,255,255,.12);
  padding-left:28px;
}

.tlm-event-aside__label{
  display:block;
  color:var(--tlm-red);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:800;
  margin-bottom:6px;
}

.tlm-event-aside__value{
  color:#fff;
  margin-bottom:22px;
  line-height:1.5;
}

.tlm-event-button{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:48px;
  width:100%;
  padding:12px 18px;
  background:var(--tlm-red);
  color:#fff!important;
  text-decoration:none!important;
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.12em;
  font-weight:800;
}

.tlm-event-back{
  display:inline-block;
  margin-top:32px;
  color:#aaa39a!important;
  text-decoration:none;
  text-transform:uppercase;
  font-size:10px;
  letter-spacing:.12em;
  font-weight:800;
}

.tlm-event-back:hover{color:#fff!important}

.tlm-events-pagination{
  margin-top:36px;
  color:#fff;
}
.tlm-events-pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:40px;
  padding:0 12px;
  margin:3px;
  border:1px solid rgba(255,255,255,.15);
  color:#fff;
  text-decoration:none;
}
.tlm-events-pagination .current{
  background:var(--tlm-red);
  border-color:var(--tlm-red);
}

@media(max-width:800px){
  .tlm-event-grid{grid-template-columns:1fr}
  .tlm-event-card{min-height:390px}
  .tlm-event-main{grid-template-columns:1fr}
  .tlm-event-aside{border-left:0;border-top:1px solid rgba(255,255,255,.12);padding:28px 0 0}
}

@media(max-width:520px){
  .tlm-events-shell{padding-left:14px;padding-right:14px}
  .tlm-event-card__body{padding:20px}
  .tlm-event-hero{min-height:570px}
  .tlm-event-hero__content{padding:28px 22px}
}
