.ctv-wrap{
  max-width: 1100px;
  margin: 0 auto;
  padding: 10px 0;
  font-family: inherit;
}

.ctv-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom: 14px;
}

.ctv-title{ margin:0; font-size: 28px; }

.ctv-live-badge{
  font-size: 13px;
  padding: 6px 10px;
  border-radius: 999px;
  background:#0f172a;
  color:#fff;
  opacity:.9;
}

.ctv-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

@media (max-width: 900px){
  .ctv-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px){
  .ctv-grid{ grid-template-columns: 1fr; }
}

.ctv-card{
  background:#fff;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 16px;
  padding: 14px 14px 12px;
  box-shadow: 0 6px 18px rgba(15,23,42,.06);
}

.ctv-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom: 8px;
}

.ctv-name{ font-weight: 700; }
.ctv-meta{ display:flex; align-items:center; gap:10px; opacity:.9; }
.ctv-stars{ letter-spacing: 1px; font-size: 15px; }
.ctv-city{ font-size: 13px; padding: 4px 8px; border-radius: 999px; background: rgba(34,197,94,.12); }

.ctv-content{ font-size: 14px; line-height: 1.35; }
.ctv-date{ margin-top: 10px; font-size: 12px; opacity:.65; }

.ctv-form-wrap{
  margin-top: 22px;
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 6px 18px rgba(15,23,42,.06);
}

.ctv-form-title{ margin: 0 0 10px; font-size: 18px; }

#ctv-form .ctv-row{
  display:flex;
  gap:10px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
#ctv-form input[type="text"], #ctv-form select, #ctv-form textarea{
  width: 100%;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(15,23,42,.14);
  outline: none;
  font-size: 14px;
}
#ctv-form .ctv-row input[type="text"]{ flex: 1; min-width: 220px; }
#ctv-form textarea{ min-height: 110px; resize: vertical; }

.ctv-actions{ display:flex; align-items:center; gap:12px; margin-top: 10px; }
.ctv-btn{
  background: #f97316;
  color:#fff;
  border: none;
  padding: 10px 14px;
  border-radius: 12px;
  font-weight: 700;
  cursor:pointer;
}
.ctv-btn:disabled{ opacity:.6; cursor:not-allowed; }

.ctv-status{ font-size: 13px; opacity:.85; }
.ctv-hp{ display:none !important; }
