/* ================================
   GLOBAL LISTING PAGE WRAPPER
================================ */
.wwe-archive-container,
.wwe-search-container,
.wwe-filter-container {
    max-width:1200px;
    margin:30px auto;
    padding:0 15px;
    color:#fff;
    font-family:Inter, sans-serif;
}

/* ================================
   TITLES (Category, Archive, Search)
================================ */
.wwe-archive-title,
.wwe-search-title {
    font-size:2.3rem;
    font-weight:800;
    margin-bottom:25px;
    text-align:center;
}

/* ================================
   GRID
================================ */
.wwe-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

@media(max-width:900px){
    .wwe-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:600px){
    .wwe-grid{ grid-template-columns:1fr; }
}

/* ================================
   CARD
================================ */
.wwe-card{
    background:#121212;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 10px 20px rgba(0,0,0,0.4);
    transition:.25s;
    display:block;
}
.wwe-card:hover{
    transform:translateY(-6px);
    box-shadow:0 16px 32px rgba(229,9,20,0.35);
}

/* Thumbnail */
.wwe-thumb img{
    width:100%;
    height:200px;
    object-fit:cover;
}

/* Body */
.wwe-card-body{
    padding:15px;
    min-height:120px;
    display:flex;
    flex-direction:column;
}

/* Title */
.wwe-title{
    font-size:1.07rem;
    font-weight:700;
    height:45px;
    overflow:hidden;
}

/* ================================
   META / BADGES
================================ */
.wwe-meta{
    margin-top:auto;
    display:flex;
    gap:6px;
    flex-wrap:wrap;
}

.badge{
    padding:6px 10px;
    border-radius:6px;
    font-weight:700;
    font-size:.75rem;
    text-transform:uppercase;
    white-space:nowrap;
}

.badge-raw{ background:#E50914; }
.badge-smackdown{ background:#005DFF; }
.badge-nxt{ background:#F6C410; color:#000; }
.badge-ppv{ background:#7C00FF; }
.badge-status{ background:#333; }
.badge-date{ background:#1a1a1a; }

/* ================================
   LOADER
================================ */
.loader-wrap{
    text-align:center;
    margin:30px 0;
    padding:20px;
}

.lds-ring {
  display:inline-block;
  position:relative;
  width:50px;
  height:50px;
}
.lds-ring div {
  box-sizing:border-box;
  display:block;
  position:absolute;
  width:40px;
  height:40px;
  margin:6px;
  border:4px solid #E50914;
  border-radius:50%;
  animation:lds-ring 1.2s linear infinite;
  border-color:#E50914 transparent transparent transparent;
}
.lds-ring div:nth-child(1){ animation-delay:-0.45s; }
.lds-ring div:nth-child(2){ animation-delay:-0.30s; }
.lds-ring div:nth-child(3){ animation-delay:-0.15s; }

@keyframes lds-ring {
  0%{ transform:rotate(0deg); }
  100%{ transform:rotate(360deg); }
}

#loader-text.done{
    opacity:.5;
}
