/* =========================================================
   PCSO BOXES + JACKPOTS (Admin + Front-end) — Modern Cards
========================================================= */

/* ---------- Admin builder ---------- */
.pcso-admin{ margin-top:10px; }
.pcso-admin__top{ display:flex; align-items:center; gap:10px; margin-bottom:10px; flex-wrap:wrap; }
.pcso-admin__hint{ color:#666; font-size:12px; }

.pcso-admin-card{
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:12px;
  background:#fff;
  margin:0 0 12px;
}
.pcso-admin-card__head{
  display:grid;
  grid-template-columns: 1fr 220px;
  gap:12px;
  margin-bottom:10px;
}
.pcso-field label{ display:block; font-weight:700; margin-bottom:4px; }
.pcso-field input, .pcso-field select{ width:100%; }

.pcso-rows{ display:flex; flex-direction:column; gap:8px; margin-bottom:10px; }
.pcso-row{ display:grid; grid-template-columns: 1fr 1fr 42px; gap:8px; align-items:center; }
.pcso-row input{ width:100%; }
.pcso-admin-card__actions{ display:flex; justify-content:space-between; align-items:center; gap:10px; }

/* ---------- Jackpot admin table ---------- */
.pcso-jackpot-admin{
  border:1px solid #e5e7eb;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
.pcso-jackpot-admin table{ width:100%; border-collapse:collapse; }
.pcso-jackpot-admin th, .pcso-jackpot-admin td{
  padding:10px 12px; border-bottom:1px solid #e5e7eb; text-align:left;
}
.pcso-jackpot-admin th{ background:#f8fafc; font-weight:900; }

/* ---------- Front-end: results cards ---------- */
.pcso-cards{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}
.pcso-card{
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  box-shadow: 0 1px 0 rgba(17,24,39,.04);
}
.pcso-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  background: var(--accent-soft);
  border-bottom:1px solid var(--border);
}
.pcso-card__title{ font-weight:900; font-size:16px; line-height:1.2; }
.pcso-card__date{ color:var(--muted); font-size:13px; white-space:nowrap; font-weight:800; }

.pcso-card__rows{
  padding:10px 14px 12px;
  display:flex; flex-direction:column; gap:8px;
}
.pcso-line{
  display:grid;
  grid-template-columns: 1fr auto; /* ALWAYS left/right side-by-side */
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  background: var(--surface);
}
.pcso-line__left{
  color:var(--muted);
  font-weight:900;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.4px;
}
.pcso-line__right{
  font-weight:900;
  font-size:15px;
  color:var(--accent-2);
  text-align:right;
}
.pcso-card__empty{ padding:12px 14px; color:var(--muted); }

@media (max-width: 900px){
  .pcso-cards{ grid-template-columns: 1fr; }
}
@media (max-width: 480px){
  /* keep left/right in one row */
  .pcso-line{ grid-template-columns: 1fr auto; }
  .pcso-line__right{ font-size:14px; }
  .pcso-admin-card__head{ grid-template-columns: 1fr; }
  .pcso-row{ grid-template-columns: 1fr; }
  .pcso-row button{ width:100%; }
}

/* FOOTER SPACING */
.pcso-card__footer {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid #e5e7eb;
  font-size: 14px;
  color: #374151;
}

/* LOCATION LINE */
.pcso-card__location {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}

.pcso-pin {
  font-size: 15px;
}

/* CITY LINK */
.pcso-card__city {
  color: #2563eb;
  text-decoration: none;
  font-weight: 500;
}

.pcso-card__city:hover {
  text-decoration: underline;
}

/* NOTE */
.pcso-card__note {
  font-size: 13px;
  color: #4b5563;
}


/* ================================
   LOCATION / ADDRESS BAR (FRONTEND)
================================ */

.pcso-card__footer {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed #e5e7eb;
}

.pcso-card__location {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 10px 14px;
  margin-bottom: 8px;
  font-size: 13px;
}

.pcso-pin::before {
  content: "📍";
  font-size: 15px;
}

.pcso-location-text {
  color: #334155;
  font-weight: 500;
}

/* City badge */
.pcso-card__city {
  margin-left: auto;
  font-size: 12px;
  font-weight: 600;
  color: #2563eb;
  text-decoration: none;
  background: #eff6ff;
  padding: 4px 10px;
  border-radius: 999px;
}

.pcso-card__city:hover {
  background: #dbeafe;
  text-decoration: underline;
}

/* Note under location */
.pcso-card__note {
  margin-top: 6px;
  font-size: 13px;
  color: #475569;
}

/* ================================
   CATEGORY ARCHIVE RESULT BLOCK
================================ */

.category-result {
  margin-bottom: 40px;
}

.category-result__title {
  margin-bottom: 14px;
  font-size: 20px;
  font-weight: 700;
}

.category-result__title a {
  color: #d32f2f; /* RED title */
  text-decoration: none;
}

.category-result__title a:hover {
  color: #b71c1c;
  text-decoration: underline;
}
